[INFO] fetching crate solana-shadow 0.2.4...
[INFO] fixing solana-shadow-0.2.4 against try#622891a4e29178280638a6b63a8908bde2c0c854+cargoflags=-Zfix-edition=end=2015,2024 for pr-157817-2
[INFO] extracting crate solana-shadow 0.2.4 into /workspace/builds/worker-5-tc2/source
[INFO] started tweaking crates.io crate solana-shadow 0.2.4
[INFO] finished tweaking crates.io crate solana-shadow 0.2.4
[INFO] tweaked toml for crates.io crate solana-shadow 0.2.4 written to /workspace/builds/worker-5-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate solana-shadow 0.2.4 on toolchain 622891a4e29178280638a6b63a8908bde2c0c854
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate solana-shadow 0.2.4 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3a6becf2bc8dde7f3fa57ede90e4f284e72d296796fc446bbb1e2c7cc0530151" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] ac7f6a922987df52da3b2035f7137d34d91c9215ee35a7cf554bd9e88938cb75
[INFO] running `Command { std: "docker" "start" "ac7f6a922987df52da3b2035f7137d34d91c9215ee35a7cf554bd9e88938cb75", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "ac7f6a922987df52da3b2035f7137d34d91c9215ee35a7cf554bd9e88938cb75" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "ac7f6a922987df52da3b2035f7137d34d91c9215ee35a7cf554bd9e88938cb75", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=" "-e" "RUSTDOCFLAGS=" "-w" "/opt/rustwide/workdir" "--user" "0:0" "ac7f6a922987df52da3b2035f7137d34d91c9215ee35a7cf554bd9e88938cb75" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fix" "--allow-no-vcs" "--allow-dirty" "--frozen" "--all" "--all-targets" "--message-format=json" "-Zfix-edition=end=2015,2024", kill_on_drop: false }`
[INFO] [stderr] crater-edition-check: migrating to next edition
[INFO] [stderr]    Migrating Cargo.toml from 2018 edition to 2021
[INFO] [stderr] note: Switching to Edition 2021 will enable the use of the version 2 feature resolver in Cargo.
[INFO] [stderr] This may cause some dependencies to be built with fewer features enabled than previously.
[INFO] [stderr] More information about the resolver changes may be found at https://doc.rust-lang.org/nightly/edition-guide/rust-2021/default-cargo-resolver.html
[INFO] [stderr] When building the following dependencies, the given features will no longer be used:
[INFO] [stderr] 
[INFO] [stderr]   Inflector v0.11.4 (as host dependency) removed features: default, heavyweight, lazy_static, regex
[INFO] [stderr]   digest v0.9.0 (as host dependency) removed features: alloc, std
[INFO] [stderr]   either v1.6.1 (as host dependency) removed features: default, use_std
[INFO] [stderr]   generic-array v0.14.4 (as host dependency) removed features: more_lengths, serde
[INFO] [stderr]   getrandom v0.1.16 removed features: bindgen, js-sys, wasm-bindgen
[INFO] [stderr]   libc v0.2.108 (as host dependency) removed features: align, extra_traits
[INFO] [stderr]   libsecp256k1-core v0.2.2 removed features: default
[INFO] [stderr]   proc-macro2 v1.0.32 removed features: default
[INFO] [stderr]   quote v0.6.13 removed features: default
[INFO] [stderr]   quote v1.0.10 removed features: default
[INFO] [stderr]   rand v0.7.3 removed features: wasm-bindgen
[INFO] [stderr]   serde v1.0.130 (as host dependency) removed features: derive, rc, serde_derive
[INFO] [stderr]   syn v0.15.44 (as host dependency) removed features: extra-traits, fold, full
[INFO] [stderr]   syn v1.0.82 removed features: visit, visit-mut
[INFO] [stderr]   tokio v1.14.0 removed features: winapi
[INFO] [stderr]   tracing-core v0.1.21 removed features: default
[INFO] [stderr]   winapi v0.3.9 removed features: cfg, dbghelp, evntrace, in6addr, inaddr, ioapiset, lmcons, minschannel, mstcpip, mswsock, namedpipeapi, schannel, securitybaseapi, sspi, threadpoollegacyapiset, wincrypt, winioctl
[INFO] [stderr] 
[INFO] [stderr]    Compiling libc v0.2.108
[INFO] [stderr]    Compiling proc-macro2 v1.0.32
[INFO] [stderr]    Compiling unicode-xid v0.2.2
[INFO] [stderr]    Compiling syn v1.0.82
[INFO] [stderr]    Compiling serde_derive v1.0.130
[INFO] [stderr]    Compiling serde v1.0.130
[INFO] [stderr]    Compiling version_check v0.9.3
[INFO] [stderr]    Compiling typenum v1.14.0
[INFO] [stderr]    Compiling memchr v2.4.1
[INFO] [stderr]     Checking spin v0.5.2
[INFO] [stderr]     Checking once_cell v1.8.0
[INFO] [stderr]     Checking pin-project-lite v0.2.7
[INFO] [stderr]     Checking ppv-lite86 v0.2.15
[INFO] [stderr]     Checking regex-syntax v0.6.25
[INFO] [stderr]     Checking smallvec v1.7.0
[INFO] [stderr]    Compiling getrandom v0.1.16
[INFO] [stderr]    Compiling parking_lot_core v0.8.5
[INFO] [stderr]    Compiling futures-core v0.3.18
[INFO] [stderr]     Checking lazy_static v1.4.0
[INFO] [stderr]     Checking bytes v1.1.0
[INFO] [stderr]     Checking instant v0.1.12
[INFO] [stderr]     Checking cpufeatures v0.2.1
[INFO] [stderr]     Checking itoa v0.4.8
[INFO] [stderr]    Compiling crunchy v0.2.2
[INFO] [stderr]     Checking lock_api v0.4.5
[INFO] [stderr]    Compiling futures-task v0.3.18
[INFO] [stderr]     Checking futures-sink v0.3.18
[INFO] [stderr]    Compiling futures-channel v0.3.18
[INFO] [stderr]    Compiling tokio v1.14.0
[INFO] [stderr]    Compiling futures-util v0.3.18
[INFO] [stderr]     Checking futures-io v0.3.18
[INFO] [stderr]     Checking tinyvec_macros v0.1.0
[INFO] [stderr]    Compiling generic-array v0.14.4
[INFO] [stderr]     Checking tracing-core v0.1.21
[INFO] [stderr]     Checking tinyvec v1.5.1
[INFO] [stderr]    Compiling indexmap v1.7.0
[INFO] [stderr]     Checking matches v0.1.9
[INFO] [stderr]    Compiling proc-macro2 v0.4.30
[INFO] [stderr]     Checking either v1.6.1
[INFO] [stderr]     Checking hashbrown v0.11.2
[INFO] [stderr]     Checking form_urlencoded v1.0.1
[INFO] [stderr]    Compiling miniz_oxide v0.4.4
[INFO] [stderr]    Compiling num-traits v0.2.14
[INFO] [stderr]     Checking unicode-bidi v0.3.7
[INFO] [stderr]    Compiling solana-frozen-abi-macro v1.8.5
[INFO] [stderr]     Checking http v0.2.5
[INFO] [stderr]    Compiling ryu v1.0.6
[INFO] [stderr]     Checking termcolor v1.1.2
[INFO] [stderr]    Compiling rustversion v1.0.5
[INFO] [stderr]    Compiling pkg-config v0.3.22
[INFO] [stderr]     Checking aho-corasick v0.7.18
[INFO] [stderr]    Compiling quote v1.0.10
[INFO] [stderr]     Checking unicode-normalization v0.1.19
[INFO] [stderr]    Compiling solana-frozen-abi v1.8.5
[INFO] [stderr]     Checking num_cpus v1.13.0
[INFO] [stderr]     Checking mio v0.7.14
[INFO] [stderr]     Checking signal-hook-registry v1.4.0
[INFO] [stderr]     Checking rand_core v0.5.1
[INFO] [stderr]     Checking generic-array v0.12.4
[INFO] [stderr]     Checking atty v0.2.14
[INFO] [stderr]     Checking getrandom v0.2.3
[INFO] [stderr]     Checking ahash v0.4.7
[INFO] [stderr]     Checking parking_lot v0.11.2
[INFO] [stderr]     Checking gimli v0.26.1
[INFO] [stderr]     Checking rand_chacha v0.2.2
[INFO] [stderr]    Compiling syn v0.15.44
[INFO] [stderr]     Checking want v0.3.0
[INFO] [stderr]     Checking hashbrown v0.9.1
[INFO] [stderr]    Compiling jobserver v0.1.24
[INFO] [stderr]     Checking rand_core v0.6.3
[INFO] [stderr]     Checking digest v0.8.1
[INFO] [stderr]     Checking socket2 v0.4.2
[INFO] [stderr]     Checking memmap2 v0.1.0
[INFO] [stderr]     Checking rand v0.7.3
[INFO] [stderr]     Checking object v0.27.1
[INFO] [stderr]    Compiling solana-program v1.8.5
[INFO] [stderr]     Checking bs58 v0.3.1
[INFO] [stderr]     Checking httpdate v1.0.2
[INFO] [stderr]     Checking tower-service v0.3.1
[INFO] [stderr]     Checking keccak v0.1.0
[INFO] [stderr]    Compiling failure_derive v0.1.8
[INFO] [stderr]    Compiling serde_json v1.0.72
[INFO] [stderr]     Checking rustc-demangle v0.1.21
[INFO] [stderr]    Compiling cc v1.0.72
[INFO] [stderr]     Checking regex v1.5.4
[INFO] [stderr]     Checking itertools v0.9.0
[INFO] [stderr]    Compiling encoding_rs v0.8.29
[INFO] [stderr]     Checking unicode-xid v0.1.0
[INFO] [stderr]     Checking signature v1.4.0
[INFO] [stderr]    Compiling num-integer v0.1.44
[INFO] [stderr]    Compiling winapi v0.3.9
[INFO] [stderr]     Checking idna v0.2.3
[INFO] [stderr]     Checking iovec v0.1.4
[INFO] [stderr]     Checking ipnet v2.3.1
[INFO] [stderr]     Checking bytes v0.4.12
[INFO] [stderr]     Checking time v0.1.43
[INFO] [stderr]    Compiling solana-sdk v1.8.5
[INFO] [stderr]     Checking qstring v0.7.2
[INFO] [stderr]     Checking uriparse v0.6.3
[INFO] [stderr]     Checking quote v0.6.13
[INFO] [stderr]    Compiling memoffset v0.6.4
[INFO] [stderr]     Checking http-body v0.4.4
[INFO] [stderr]     Checking url v2.2.2
[INFO] [stderr]    Compiling crossbeam-utils v0.8.5
[INFO] [stderr]    Compiling crossbeam-epoch v0.9.5
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking gethostname v0.2.1
[INFO] [stderr]     Checking env_logger v0.8.4
[INFO] [stderr]    Compiling rayon-core v1.9.1
[INFO] [stderr]    Compiling solana-vote-program v1.8.5
[INFO] [stderr]    Compiling ring v0.16.20
[INFO] [stderr]    Compiling backtrace v0.3.63
[INFO] [stderr]    Compiling blake3 v0.3.8
[INFO] [stderr]    Compiling openssl-sys v0.9.71
[INFO] [stderr]     Checking rand v0.8.4
[INFO] [stderr]     Checking solana-logger v1.8.5
[INFO] [stderr]     Checking crossbeam-channel v0.5.1
[INFO] [stderr]     Checking terminal_size v0.1.17
[INFO] [stderr]    Compiling rayon v1.5.1
[INFO] [stderr]     Checking addr2line v0.17.0
[INFO] [stderr]    Compiling glob v0.3.0
[INFO] [stderr]     Checking crossbeam-deque v0.8.1
[INFO] [stderr]    Compiling openssl v0.10.38
[INFO] [stderr]     Checking remove_dir_all v0.5.3
[INFO] [stderr]     Checking tempfile v3.2.0
[INFO] [stderr]    Compiling proc-macro-error-attr v1.0.4
[INFO] [stderr]    Compiling native-tls v0.2.8
[INFO] [stderr]    Compiling hidapi v1.3.0
[INFO] [stderr]     Checking solana-rayon-threadlimit v1.8.5
[INFO] [stderr]     Checking termios v0.3.3
[INFO] [stderr]    Compiling proc-macro-error v1.0.4
[INFO] [stderr]    Compiling anyhow v1.0.51
[INFO] [stderr]    Compiling zstd-sys v1.4.18+zstd.1.4.7
[INFO] [stderr]    Compiling zstd-safe v2.0.6+zstd.1.4.7
[INFO] [stderr]     Checking openssl-probe v0.1.4
[INFO] [stderr]     Checking console v0.11.3
[INFO] [stderr]    Compiling bzip2-sys v0.1.11+1.0.8
[INFO] [stderr]     Checking errno v0.2.8
[INFO] [stderr]     Checking parking_lot_core v0.7.2
[INFO] [stderr]    Compiling solana-perf v1.8.5
[INFO] [stderr]    Compiling crc32fast v1.2.2
[INFO] [stderr]     Checking semver-parser v0.7.0
[INFO] [stderr]     Checking dialoguer v0.6.2
[INFO] [stderr]     Checking parking_lot v0.10.2
[INFO] [stderr]     Checking semver v0.9.0
[INFO] [stderr]     Checking console v0.14.1
[INFO] [stderr]     Checking nix v0.20.2
[INFO] [stderr]    Compiling solana-stake-program v1.8.5
[INFO] [stderr]    Compiling solana-version v1.8.5
[INFO] [stderr]     Checking base32 v0.4.0
[INFO] [stderr]     Checking linked-hash-map v0.5.4
[INFO] [stderr]     Checking byte-tools v0.3.1
[INFO] [stderr]     Checking rustc-hash v1.1.0
[INFO] [stderr]     Checking ansi_term v0.11.0
[INFO] [stderr]     Checking walkdir v2.3.2
[INFO] [stderr]     Checking yaml-rust v0.4.5
[INFO] [stderr]     Checking block-padding v0.1.5
[INFO] [stderr]     Checking crossbeam-utils v0.7.2
[INFO] [stderr]     Checking filetime v0.2.15
[INFO] [stderr]     Checking xattr v0.2.2
[INFO] [stderr]     Checking dirs-sys-next v0.1.2
[INFO] [stderr]     Checking rpassword v4.0.5
[INFO] [stderr]    Compiling solana-runtime v1.8.5
[INFO] [stderr]     Checking dtoa v0.4.8
[INFO] [stderr]     Checking clap v2.33.3
[INFO] [stderr]     Checking stable_deref_trait v1.2.0
[INFO] [stderr]     Checking ucd-trie v0.1.3
[INFO] [stderr]     Checking aliasable v0.1.3
[INFO] [stderr]     Checking tar v0.4.37
[INFO] [stderr]     Checking crossbeam-channel v0.4.4
[INFO] [stderr]     Checking dirs-next v2.0.0
[INFO] [stderr]     Checking pest v2.1.3
[INFO] [stderr]     Checking flate2 v1.0.22
[INFO] [stderr]     Checking dir-diff v0.3.2
[INFO] [stderr]     Checking block-buffer v0.7.3
[INFO] [stderr]     Checking Inflector v0.11.4
[INFO] [stderr]     Checking libloading v0.6.7
[INFO] [stderr]     Checking symlink v0.1.0
[INFO] [stderr]     Checking fake-simd v0.1.2
[INFO] [stderr]     Checking opaque-debug v0.2.3
[INFO] [stderr]     Checking input_buffer v0.3.1
[INFO] [stderr]     Checking console v0.15.0
[INFO] [stderr]     Checking sha-1 v0.8.2
[INFO] [stderr]     Checking socket2 v0.3.19
[INFO] [stderr]     Checking number_prefix v0.3.0
[INFO] [stderr]     Checking base64 v0.11.0
[INFO] [stderr]     Checking regex-automata v0.1.10
[INFO] [stderr]     Checking net2 v0.2.37
[INFO] [stderr]     Checking dashmap v5.0.0
[INFO] [stderr]     Checking indicatif v0.15.0
[INFO] [stderr]     Checking dashmap v4.0.2
[INFO] [stderr]     Checking semver-parser v0.10.2
[INFO] [stderr]     Checking tracing-log v0.1.2
[INFO] [stderr]     Checking sharded-slab v0.1.4
[INFO] [stderr]     Checking thread_local v1.1.3
[INFO] [stderr]     Checking pyth-client v0.2.2
[INFO] [stderr]     Checking semver v0.11.0
[INFO] [stderr]     Checking webpki v0.21.4
[INFO] [stderr]     Checking sct v0.6.1
[INFO] [stderr]     Checking rustls v0.19.1
[INFO] [stderr]     Checking webpki-roots v0.21.1
[INFO] [stderr]     Checking bzip2 v0.3.3
[INFO] [stderr]     Checking tungstenite v0.10.1
[INFO] [stderr]     Checking matchers v0.1.0
[INFO] [stderr]    Compiling synstructure v0.12.6
[INFO] [stderr]    Compiling borsh-schema-derive-internal v0.9.1
[INFO] [stderr]    Compiling borsh-derive-internal v0.9.1
[INFO] [stderr]    Compiling thiserror-impl v1.0.30
[INFO] [stderr]    Compiling zeroize_derive v1.2.2
[INFO] [stderr]    Compiling tokio-macros v1.6.0
[INFO] [stderr]    Compiling futures-macro v0.3.18
[INFO] [stderr]     Checking zeroize v1.4.3
[INFO] [stderr]    Compiling tracing-attributes v0.1.18
[INFO] [stderr]     Checking curve25519-dalek v2.1.3
[INFO] [stderr]     Checking thiserror v1.0.30
[INFO] [stderr]    Compiling bytemuck_derive v1.0.1
[INFO] [stderr]    Compiling solana-sdk-macro v1.8.5
[INFO] [stderr]    Compiling num-derive v0.3.3
[INFO] [stderr]     Checking bytemuck v1.7.2
[INFO] [stderr]    Compiling dlopen_derive v0.1.4
[INFO] [stderr]     Checking tracing v0.1.29
[INFO] [stderr]    Compiling derivative v2.2.0
[INFO] [stderr]     Checking caps v0.5.3
[INFO] [stderr]    Compiling ouroboros_macro v0.10.1
[INFO] [stderr]    Compiling pin-project-internal v1.0.10
[INFO] [stderr]     Checking dlopen v0.1.8
[INFO] [stderr]     Checking tracing-subscriber v0.3.2
[INFO] [stderr]     Checking ouroboros v0.10.1
[INFO] [stderr]     Checking futures-executor v0.3.18
[INFO] [stderr]     Checking futures v0.3.18
[INFO] [stderr]     Checking pin-project v1.0.10
[INFO] [stderr]     Checking tracing-futures v0.2.5
[INFO] [stderr]     Checking tokio-util v0.6.9
[INFO] [stderr]     Checking tokio-rustls v0.22.0
[INFO] [stderr]     Checking tokio-native-tls v0.3.0
[INFO] [stderr]     Checking h2 v0.3.7
[INFO] [stderr]    Compiling toml v0.5.8
[INFO] [stderr]     Checking serde_bytes v0.11.5
[INFO] [stderr]     Checking bv v0.11.1
[INFO] [stderr]     Checking bincode v1.3.3
[INFO] [stderr]     Checking ed25519 v1.3.0
[INFO] [stderr]     Checking serde_urlencoded v0.7.0
[INFO] [stderr]     Checking chrono v0.4.19
[INFO] [stderr]     Checking serde_yaml v0.8.21
[INFO] [stderr]     Checking failure v0.1.8
[INFO] [stderr]     Checking solana-cli-config v1.8.5
[INFO] [stderr]     Checking digest v0.9.0
[INFO] [stderr]     Checking block-buffer v0.9.0
[INFO] [stderr]     Checking crypto-mac v0.8.0
[INFO] [stderr]     Checking crypto-mac v0.9.1
[INFO] [stderr]     Checking crypto-mac v0.10.1
[INFO] [stderr]     Checking derivation-path v0.1.3
[INFO] [stderr]     Checking pbkdf2 v0.6.0
[INFO] [stderr]     Checking pbkdf2 v0.4.0
[INFO] [stderr]    Compiling libsecp256k1-core v0.2.2
[INFO] [stderr]     Checking sha2 v0.9.8
[INFO] [stderr]     Checking hmac v0.8.1
[INFO] [stderr]     Checking sha3 v0.9.1
[INFO] [stderr]     Checking curve25519-dalek v3.2.0
[INFO] [stderr]     Checking hmac v0.9.0
[INFO] [stderr]     Checking hmac v0.10.1
[INFO] [stderr]     Checking sha-1 v0.9.8
[INFO] [stderr]     Checking jsonrpc-core v18.0.0
[INFO] [stderr]    Compiling proc-macro-crate v0.1.5
[INFO] [stderr]    Compiling proc-macro-crate v1.1.0
[INFO] [stderr]     Checking hmac-drbg v0.3.0
[INFO] [stderr]     Checking tungstenite v0.16.0
[INFO] [stderr]    Compiling borsh-derive v0.9.1
[INFO] [stderr]     Checking tiny-bip39 v0.8.2
[INFO] [stderr]    Compiling num_enum_derive v0.5.4
[INFO] [stderr]     Checking tokio-tungstenite v0.16.1
[INFO] [stderr]     Checking borsh v0.9.1
[INFO] [stderr]     Checking ed25519-dalek v1.0.1
[INFO] [stderr]    Compiling libsecp256k1-gen-ecmult v0.2.1
[INFO] [stderr]    Compiling libsecp256k1-gen-genmult v0.2.1
[INFO] [stderr]     Checking ed25519-dalek-bip32 v0.1.1
[INFO] [stderr]     Checking num_enum v0.5.4
[INFO] [stderr]     Checking hyper v0.14.15
[INFO] [stderr]    Compiling libsecp256k1 v0.5.0
[INFO] [stderr]     Checking hyper-rustls v0.22.1
[INFO] [stderr]     Checking hyper-tls v0.5.0
[INFO] [stderr]     Checking reqwest v0.11.6
[INFO] [stderr]     Checking solana-crate-features v1.8.5
[INFO] [stderr]     Checking spl-token v3.2.0
[INFO] [stderr]     Checking spl-memo v3.0.1
[INFO] [stderr]     Checking spl-associated-token-account v1.0.3
[INFO] [stderr]     Checking solana-metrics v1.8.5
[INFO] [stderr]     Checking solana-config-program v1.8.5
[INFO] [stderr]     Checking solana-remote-wallet v1.8.5
[INFO] [stderr]     Checking solana-secp256k1-program v1.8.5
[INFO] [stderr]     Checking solana-ed25519-program v1.8.5
[INFO] [stderr]     Checking solana-compute-budget-program v1.8.5
[INFO] [stderr]     Checking solana-measure v1.8.5
[INFO] [stderr]     Checking solana-clap-utils v1.8.5
[INFO] [stderr]     Checking solana-net-utils v1.8.5
[INFO] [stderr]     Checking solana-faucet v1.8.5
[INFO] [stderr]     Checking zstd v0.5.4+zstd.1.4.7
[INFO] [stderr]     Checking solana-account-decoder v1.8.5
[INFO] [stderr]     Checking solana-transaction-status v1.8.5
[INFO] [stderr]     Checking solana-client v1.8.5
[INFO] [stderr]     Checking solana-shadow v0.2.4 (/opt/rustwide/workdir)
[INFO] [stderr]    Migrating src/lib.rs from 2018 edition to 2021
[INFO] [stderr]    Migrating examples/pyth_watch_ethusd.rs from 2018 edition to 2021
[INFO] [stderr]    Migrating examples/pyth_watch_updates.rs from 2018 edition to 2021
[INFO] [stderr]    Migrating examples/pyth_watch_reconnect.rs from 2018 edition to 2021
[INFO] [stderr]    Migrating examples/pyth_watch_all.rs from 2018 edition to 2021
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 51s
[INFO] [stderr] crater-edition-check: solana-shadow v0.2.4 (/opt/rustwide/workdir) updating edition from 2018 to 2021
[INFO] [stderr]    Compiling libc v0.2.108
[INFO] [stderr]    Compiling proc-macro2 v1.0.32
[INFO] [stderr]    Compiling syn v1.0.82
[INFO] [stderr]    Compiling generic-array v0.14.4
[INFO] [stderr]    Compiling serde v1.0.130
[INFO] [stderr]     Checking getrandom v0.1.16
[INFO] [stderr]    Compiling tokio v1.14.0
[INFO] [stderr]    Compiling winapi v0.3.9
[INFO] [stderr]     Checking quote v0.6.13
[INFO] [stderr]    Compiling either v1.6.1
[INFO] [stderr]    Compiling syn v0.15.44
[INFO] [stderr]    Compiling Inflector v0.11.4
[INFO] [stderr]     Checking rand_core v0.5.1
[INFO] [stderr]    Compiling itertools v0.9.0
[INFO] [stderr]     Checking rand_chacha v0.2.2
[INFO] [stderr]    Compiling quote v1.0.10
[INFO] [stderr]     Checking rand v0.7.3
[INFO] [stderr]    Compiling digest v0.9.0
[INFO] [stderr]    Compiling libsecp256k1-core v0.2.2
[INFO] [stderr]    Compiling jobserver v0.1.24
[INFO] [stderr]    Compiling proc-macro-error-attr v1.0.4
[INFO] [stderr]    Compiling cc v1.0.72
[INFO] [stderr]    Compiling libsecp256k1-gen-ecmult v0.2.1
[INFO] [stderr]    Compiling libsecp256k1-gen-genmult v0.2.1
[INFO] [stderr]    Compiling libsecp256k1 v0.5.0
[INFO] [stderr]    Compiling ring v0.16.20
[INFO] [stderr]    Compiling blake3 v0.3.8
[INFO] [stderr]    Compiling backtrace v0.3.63
[INFO] [stderr]    Compiling openssl-sys v0.9.71
[INFO] [stderr]    Compiling zstd-sys v1.4.18+zstd.1.4.7
[INFO] [stderr]    Compiling hidapi v1.3.0
[INFO] [stderr]    Compiling bzip2-sys v0.1.11+1.0.8
[INFO] [stderr]    Compiling openssl v0.10.38
[INFO] [stderr]    Compiling native-tls v0.2.8
[INFO] [stderr]    Compiling dlopen_derive v0.1.4
[INFO] [stderr]     Checking bzip2 v0.3.3
[INFO] [stderr]     Checking dlopen v0.1.8
[INFO] [stderr]    Compiling toml v0.5.8
[INFO] [stderr]    Compiling proc-macro-crate v0.1.5
[INFO] [stderr]     Checking tungstenite v0.10.1
[INFO] [stderr]     Checking webpki v0.21.4
[INFO] [stderr]     Checking sct v0.6.1
[INFO] [stderr]     Checking webpki-roots v0.21.1
[INFO] [stderr]     Checking rustls v0.19.1
[INFO] [stderr]    Compiling synstructure v0.12.6
[INFO] [stderr]    Compiling borsh-schema-derive-internal v0.9.1
[INFO] [stderr]    Compiling borsh-derive-internal v0.9.1
[INFO] [stderr]    Compiling proc-macro-error v1.0.4
[INFO] [stderr]    Compiling serde_derive v1.0.130
[INFO] [stderr]    Compiling thiserror-impl v1.0.30
[INFO] [stderr]    Compiling futures-macro v0.3.18
[INFO] [stderr]    Compiling tokio-macros v1.6.0
[INFO] [stderr]    Compiling tracing-attributes v0.1.18
[INFO] [stderr]    Compiling bytemuck_derive v1.0.1
[INFO] [stderr]    Compiling solana-frozen-abi-macro v1.8.5
[INFO] [stderr]    Compiling borsh-derive v0.9.1
[INFO] [stderr]    Compiling zeroize_derive v1.2.2
[INFO] [stderr]    Compiling solana-sdk-macro v1.8.5
[INFO] [stderr]    Compiling num-derive v0.3.3
[INFO] [stderr]     Checking zeroize v1.4.3
[INFO] [stderr]     Checking curve25519-dalek v2.1.3
[INFO] [stderr]     Checking borsh v0.9.1
[INFO] [stderr]     Checking bytemuck v1.7.2
[INFO] [stderr]    Compiling failure_derive v0.1.8
[INFO] [stderr]    Compiling derivative v2.2.0
[INFO] [stderr]    Compiling ouroboros_macro v0.10.1
[INFO] [stderr]     Checking futures-util v0.3.18
[INFO] [stderr]    Compiling pin-project-internal v1.0.10
[INFO] [stderr]     Checking thiserror v1.0.30
[INFO] [stderr]     Checking caps v0.5.3
[INFO] [stderr]    Compiling proc-macro-crate v1.1.0
[INFO] [stderr]    Compiling num_enum_derive v0.5.4
[INFO] [stderr]     Checking tracing v0.1.29
[INFO] [stderr]     Checking tracing-subscriber v0.3.2
[INFO] [stderr]     Checking pin-project v1.0.10
[INFO] [stderr]     Checking ouroboros v0.10.1
[INFO] [stderr]     Checking num_enum v0.5.4
[INFO] [stderr]     Checking tracing-futures v0.2.5
[INFO] [stderr]     Checking futures-executor v0.3.18
[INFO] [stderr]     Checking futures v0.3.18
[INFO] [stderr]     Checking tokio-util v0.6.9
[INFO] [stderr]     Checking tokio-rustls v0.22.0
[INFO] [stderr]     Checking tokio-native-tls v0.3.0
[INFO] [stderr]     Checking h2 v0.3.7
[INFO] [stderr]     Checking serde_bytes v0.11.5
[INFO] [stderr]     Checking bv v0.11.1
[INFO] [stderr]     Checking bincode v1.3.3
[INFO] [stderr]     Checking serde_json v1.0.72
[INFO] [stderr]     Checking ed25519 v1.3.0
[INFO] [stderr]     Checking serde_urlencoded v0.7.0
[INFO] [stderr]     Checking chrono v0.4.19
[INFO] [stderr]     Checking serde_yaml v0.8.21
[INFO] [stderr]     Checking failure v0.1.8
[INFO] [stderr]     Checking solana-cli-config v1.8.5
[INFO] [stderr]     Checking block-buffer v0.9.0
[INFO] [stderr]     Checking crypto-mac v0.8.0
[INFO] [stderr]     Checking crypto-mac v0.10.1
[INFO] [stderr]     Checking crypto-mac v0.9.1
[INFO] [stderr]     Checking derivation-path v0.1.3
[INFO] [stderr]     Checking curve25519-dalek v3.2.0
[INFO] [stderr]     Checking hmac v0.8.1
[INFO] [stderr]     Checking pbkdf2 v0.4.0
[INFO] [stderr]     Checking hmac v0.10.1
[INFO] [stderr]     Checking pbkdf2 v0.6.0
[INFO] [stderr]     Checking hmac v0.9.0
[INFO] [stderr]     Checking jsonrpc-core v18.0.0
[INFO] [stderr]     Checking hmac-drbg v0.3.0
[INFO] [stderr]     Checking sha2 v0.9.8
[INFO] [stderr]     Checking sha3 v0.9.1
[INFO] [stderr]     Checking sha-1 v0.9.8
[INFO] [stderr]     Checking tungstenite v0.16.0
[INFO] [stderr]     Checking tiny-bip39 v0.8.2
[INFO] [stderr]     Checking solana-frozen-abi v1.8.5
[INFO] [stderr]     Checking tokio-tungstenite v0.16.1
[INFO] [stderr]     Checking hyper v0.14.15
[INFO] [stderr]     Checking ed25519-dalek v1.0.1
[INFO] [stderr]     Checking ed25519-dalek-bip32 v0.1.1
[INFO] [stderr]     Checking hyper-rustls v0.22.1
[INFO] [stderr]     Checking hyper-tls v0.5.0
[INFO] [stderr]     Checking reqwest v0.11.6
[INFO] [stderr]     Checking solana-crate-features v1.8.5
[INFO] [stderr]     Checking solana-program v1.8.5
[INFO] [stderr]     Checking solana-sdk v1.8.5
[INFO] [stderr]     Checking spl-token v3.2.0
[INFO] [stderr]     Checking spl-memo v3.0.1
[INFO] [stderr]     Checking spl-associated-token-account v1.0.3
[INFO] [stderr]     Checking solana-metrics v1.8.5
[INFO] [stderr]     Checking solana-config-program v1.8.5
[INFO] [stderr]     Checking solana-remote-wallet v1.8.5
[INFO] [stderr]     Checking solana-compute-budget-program v1.8.5
[INFO] [stderr]     Checking solana-ed25519-program v1.8.5
[INFO] [stderr]     Checking solana-secp256k1-program v1.8.5
[INFO] [stderr]     Checking solana-version v1.8.5
[INFO] [stderr]     Checking solana-vote-program v1.8.5
[INFO] [stderr]     Checking solana-measure v1.8.5
[INFO] [stderr]     Checking solana-perf v1.8.5
[INFO] [stderr]     Checking solana-stake-program v1.8.5
[INFO] [stderr]     Checking solana-clap-utils v1.8.5
[INFO] [stderr]     Checking solana-faucet v1.8.5
[INFO] [stderr]     Checking solana-net-utils v1.8.5
[INFO] [stderr]    Compiling zstd-safe v2.0.6+zstd.1.4.7
[INFO] [stderr]     Checking zstd v0.5.4+zstd.1.4.7
[INFO] [stderr]     Checking solana-runtime v1.8.5
[INFO] [stderr]     Checking solana-account-decoder v1.8.5
[INFO] [stderr]     Checking solana-transaction-status v1.8.5
[INFO] [stderr]     Checking solana-client v1.8.5
[INFO] [stderr]     Checking solana-shadow v0.2.4 (/opt/rustwide/workdir)
[INFO] [stdout] warning: struct `AccountChangeInfo` is never constructed
[INFO] [stdout]  --> src/message.rs:7:19
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub(crate) struct AccountChangeInfo {
[INFO] [stdout]   |                   ^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ProgramChangeInfo` is never constructed
[INFO] [stdout]   --> src/message.rs:13:19
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub(crate) struct ProgramChangeInfo {}
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused output of future returned by `tokio::task::yield_now` that must be used
[INFO] [stdout]    --> src/sync.rs:160:9
[INFO] [stdout]     |
[INFO] [stdout] 160 |         tokio::task::yield_now().await;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: yield_now does nothing unless polled/`await`-ed
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 160 |         let _ = tokio::task::yield_now().await;
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused output of future returned by `tokio::task::yield_now` that must be used
[INFO] [stdout]    --> src/sync.rs:224:9
[INFO] [stdout]     |
[INFO] [stdout] 224 |         tokio::task::yield_now().await;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: yield_now does nothing unless polled/`await`-ed
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 224 |         let _ = tokio::task::yield_now().await;
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused output of future returned by `tokio::task::yield_now` that must be used
[INFO] [stdout]    --> src/sync.rs:364:9
[INFO] [stdout]     |
[INFO] [stdout] 364 |         tokio::task::yield_now().await;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: yield_now does nothing unless polled/`await`-ed
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 364 |         let _ = tokio::task::yield_now().await;
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AccountChangeInfo` is never constructed
[INFO] [stdout]  --> src/message.rs:7:19
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub(crate) struct AccountChangeInfo {
[INFO] [stdout]   |                   ^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ProgramChangeInfo` is never constructed
[INFO] [stdout]   --> src/message.rs:13:19
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub(crate) struct ProgramChangeInfo {}
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused output of future returned by `tokio::task::yield_now` that must be used
[INFO] [stdout]    --> src/sync.rs:160:9
[INFO] [stdout]     |
[INFO] [stdout] 160 |         tokio::task::yield_now().await;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: yield_now does nothing unless polled/`await`-ed
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 160 |         let _ = tokio::task::yield_now().await;
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused output of future returned by `tokio::task::yield_now` that must be used
[INFO] [stdout]    --> src/sync.rs:224:9
[INFO] [stdout]     |
[INFO] [stdout] 224 |         tokio::task::yield_now().await;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: yield_now does nothing unless polled/`await`-ed
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 224 |         let _ = tokio::task::yield_now().await;
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused output of future returned by `tokio::task::yield_now` that must be used
[INFO] [stdout]    --> src/sync.rs:364:9
[INFO] [stdout]     |
[INFO] [stdout] 364 |         tokio::task::yield_now().await;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: yield_now does nothing unless polled/`await`-ed
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 364 |         let _ = tokio::task::yield_now().await;
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 3m 10s
[INFO] [stderr] crater-edition-check: migrating to next edition
[INFO] [stderr]    Migrating Cargo.toml from 2018 edition to 2021
[INFO] [stderr] note: Switching to Edition 2021 will enable the use of the version 2 feature resolver in Cargo.
[INFO] [stderr] This may cause some dependencies to be built with fewer features enabled than previously.
[INFO] [stderr] More information about the resolver changes may be found at https://doc.rust-lang.org/nightly/edition-guide/rust-2021/default-cargo-resolver.html
[INFO] [stderr] When building the following dependencies, the given features will no longer be used:
[INFO] [stderr] 
[INFO] [stderr]   Inflector v0.11.4 (as host dependency) removed features: default, heavyweight, lazy_static, regex
[INFO] [stderr]   digest v0.9.0 (as host dependency) removed features: alloc, std
[INFO] [stderr]   either v1.6.1 (as host dependency) removed features: default, use_std
[INFO] [stderr]   generic-array v0.14.4 (as host dependency) removed features: more_lengths, serde
[INFO] [stderr]   getrandom v0.1.16 removed features: bindgen, js-sys, wasm-bindgen
[INFO] [stderr]   libc v0.2.108 (as host dependency) removed features: align, extra_traits
[INFO] [stderr]   libsecp256k1-core v0.2.2 removed features: default
[INFO] [stderr]   proc-macro2 v1.0.32 removed features: default
[INFO] [stderr]   quote v0.6.13 removed features: default
[INFO] [stderr]   quote v1.0.10 removed features: default
[INFO] [stderr]   rand v0.7.3 removed features: wasm-bindgen
[INFO] [stderr]   serde v1.0.130 (as host dependency) removed features: derive, rc, serde_derive
[INFO] [stderr]   syn v0.15.44 (as host dependency) removed features: extra-traits, fold, full
[INFO] [stderr]   syn v1.0.82 removed features: visit, visit-mut
[INFO] [stderr]   tokio v1.14.0 removed features: winapi
[INFO] [stderr]   tracing-core v0.1.21 removed features: default
[INFO] [stderr]   winapi v0.3.9 removed features: cfg, dbghelp, evntrace, in6addr, inaddr, ioapiset, lmcons, minschannel, mstcpip, mswsock, namedpipeapi, schannel, securitybaseapi, sspi, threadpoollegacyapiset, wincrypt, winioctl
[INFO] [stderr] 
[INFO] [stderr]     Checking solana-shadow v0.2.4 (/opt/rustwide/workdir)
[INFO] [stderr]    Migrating src/lib.rs from 2021 edition to 2024
[INFO] [stderr]        Fixed src/sync.rs (2 fixes)
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/sync.rs:234:31
[INFO] [stdout]      |
[INFO] [stdout]  234 |           while let Some(msg) = reader.next().await {
[INFO] [stdout]      |                          ---    ^^^^^^^^^^^^^^-----
[INFO] [stdout]      |                          |      |             |
[INFO] [stdout]      |                          |      |             this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                          |      |             `#1` will be dropped later as of Edition 2024
[INFO] [stdout]      |                          |      this value will be stored in a temporary; let us call it `#15`
[INFO] [stdout]      |                          |      up until Edition 2021 `#15` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                          `msg` calls a custom destructor
[INFO] [stdout]      |                          `msg` will be dropped later as of Edition 2024
[INFO] [stdout]  235 |             let message = match msg {
[INFO] [stdout]      |  _________________________-
[INFO] [stdout]  236 | |             Ok(msg) => match msg {
[INFO] [stdout]  237 | |               Message::Text(text) => Ok(serde_json::from_str(&text)?),
[INFO] [stdout]  238 | |               _ => Err(Error::UnsupportedRpcFormat),
[INFO] [stdout] ...    |
[INFO] [stdout]  244 | |           }?;
[INFO] [stdout]      | |            -
[INFO] [stdout]      | |            |
[INFO] [stdout]      | |____________this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |              `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  257 |               { Some((_, (sub_request, oneshot))) => {
[INFO] [stdout]      |                                        -------
[INFO] [stdout]      |                                        |
[INFO] [stdout]      |                                        `oneshot` calls a custom destructor
[INFO] [stdout]      |                                        `oneshot` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  262 |                       rpc::get_account(self.client.clone(), account).await?;
[INFO] [stdout]      |                       -----------------------------------------------------
[INFO] [stdout]      |                       |                                              |
[INFO] [stdout]      |                       |                                              this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]      |                       |                                              `#4` will be dropped later as of Edition 2024
[INFO] [stdout]      |                       this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |                       `#3` will be dropped later as of Edition 2024
[INFO] [stdout]      |                       `__awaitee` calls a custom destructor
[INFO] [stdout]      |                       `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  266 |                     match self.accounts.entry(key) {
[INFO] [stdout]      |                           ------------------------
[INFO] [stdout]      |                           |
[INFO] [stdout]      |                           this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]      |                           `#5` will be dropped later as of Edition 2024
[INFO] [stdout]  267 |                       Occupied(mut e) => {
[INFO] [stdout]      |                                -----
[INFO] [stdout]      |                                |
[INFO] [stdout]      |                                `e` calls a custom destructor
[INFO] [stdout]      |                                `e` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  278 |                         e.insert((acc, true));
[INFO] [stdout]      |                         ---------------------
[INFO] [stdout]      |                         |
[INFO] [stdout]      |                         this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]      |                         `#6` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  283 |                       let account = self.accounts.get(&key).unwrap().0.clone();
[INFO] [stdout]      |                                     --------------------------------
[INFO] [stdout]      |                                     |
[INFO] [stdout]      |                                     this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]      |                                     `#7` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  295 | /                     rpc::get_program_accounts(self.client.clone(), &program_id)
[INFO] [stdout]  296 | |                       .await?;
[INFO] [stdout]      | |                        ------
[INFO] [stdout]      | |________________________|___||
[INFO] [stdout]      | |________________________|___|this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]      | |________________________|___|`#8` will be dropped later as of Edition 2024
[INFO] [stdout]      | |________________________|___this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]      |                          |   `#9` will be dropped later as of Edition 2024
[INFO] [stdout]      |                          this value will be stored in a temporary; let us call it `#10`
[INFO] [stdout]      |                          `#10` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  303 | |                       Occupied(mut e) => {
[INFO] [stdout]      | |                                -----
[INFO] [stdout]      | |                                |
[INFO] [stdout]      | |                                this value will be stored in a temporary; let us call it `#11`
[INFO] [stdout]      | |                                `#11` will be dropped later as of Edition 2024
[INFO] [stdout] ...    |
[INFO] [stdout]  326 | |                         e.insert((acc, true));
[INFO] [stdout]      | |                         ---------------------
[INFO] [stdout]      | |                         |
[INFO] [stdout]      | |                         this value will be stored in a temporary; let us call it `#12`
[INFO] [stdout]      | |                         `#12` will be dropped later as of Edition 2024
[INFO] [stdout] ...    |
[INFO] [stdout]  355 | |                 return Ok(Some(self.account_notification_to_change(params)?));
[INFO] [stdout]      | |                                --------------------------------------------
[INFO] [stdout]      | |                                |
[INFO] [stdout]      | |                                this value will be stored in a temporary; let us call it `#13`
[INFO] [stdout]      | |                                `#13` will be dropped later as of Edition 2024
[INFO] [stdout] ...    |
[INFO] [stdout]  362 | |         }
[INFO] [stdout]      | |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]  363 | |       } else {
[INFO] [stdout]  364 | |         tokio::task::yield_now().await;
[INFO] [stdout]      | |         ------------------------------
[INFO] [stdout]      | |         |
[INFO] [stdout]      | |         this value will be stored in a temporary; let us call it `#14`
[INFO] [stdout]      | |         `#14` will be dropped later as of Edition 2024
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#15` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#15` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.1.0/src/bytes.rs:512:1
[INFO] [stdout]      |
[INFO] [stdout]  512 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.1.0/src/bytes.rs:512:1
[INFO] [stdout]      |
[INFO] [stdout]  512 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `msg` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `msg` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.1.0/src/bytes.rs:512:1
[INFO] [stdout]      |
[INFO] [stdout]  512 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.1.0/src/bytes.rs:512:1
[INFO] [stdout]      |
[INFO] [stdout]  512 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `oneshot` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.14.0/src/sync/oneshot.rs:724:1
[INFO] [stdout]      |
[INFO] [stdout]  724 | impl<T> Drop for Sender<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.1.0/src/bytes.rs:512:1
[INFO] [stdout]      |
[INFO] [stdout]  512 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.1.0/src/bytes.rs:512:1
[INFO] [stdout]      |
[INFO] [stdout]  512 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.5/src/rwlock.rs:1631:1
[INFO] [stdout]      |
[INFO] [stdout] 1631 | impl<'a, R: RawRwLock + 'a, T: ?Sized + 'a> Drop for RwLockWriteGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `e` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.5/src/rwlock.rs:1631:1
[INFO] [stdout]      |
[INFO] [stdout] 1631 | impl<'a, R: RawRwLock + 'a, T: ?Sized + 'a> Drop for RwLockWriteGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.5/src/rwlock.rs:1631:1
[INFO] [stdout]      |
[INFO] [stdout] 1631 | impl<'a, R: RawRwLock + 'a, T: ?Sized + 'a> Drop for RwLockWriteGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#7` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.5/src/rwlock.rs:1294:1
[INFO] [stdout]      |
[INFO] [stdout] 1294 | impl<'a, R: RawRwLock + 'a, T: ?Sized + 'a> Drop for RwLockReadGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#8` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.1.0/src/bytes.rs:512:1
[INFO] [stdout]      |
[INFO] [stdout]  512 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#10` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#10` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.1.0/src/bytes.rs:512:1
[INFO] [stdout]      |
[INFO] [stdout]  512 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#11` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.5/src/rwlock.rs:1631:1
[INFO] [stdout]      |
[INFO] [stdout] 1631 | impl<'a, R: RawRwLock + 'a, T: ?Sized + 'a> Drop for RwLockWriteGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#12` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.5/src/rwlock.rs:1631:1
[INFO] [stdout]      |
[INFO] [stdout] 1631 | impl<'a, R: RawRwLock + 'a, T: ?Sized + 'a> Drop for RwLockWriteGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#13` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#13` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.1.0/src/bytes.rs:512:1
[INFO] [stdout]      |
[INFO] [stdout]  512 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/sync.rs:302:27
[INFO] [stdout]      |
[INFO] [stdout]  234 |           while let Some(msg) = reader.next().await {
[INFO] [stdout]      |                          ---                  -----
[INFO] [stdout]      |                          |                    |
[INFO] [stdout]      |                          |                    this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                          |                    `#1` will be dropped later as of Edition 2024
[INFO] [stdout]      |                          `msg` calls a custom destructor
[INFO] [stdout]      |                          `msg` will be dropped later as of Edition 2024
[INFO] [stdout]  235 |             let message = match msg {
[INFO] [stdout]      |  _________________________-
[INFO] [stdout]  236 | |             Ok(msg) => match msg {
[INFO] [stdout]  237 | |               Message::Text(text) => Ok(serde_json::from_str(&text)?),
[INFO] [stdout]  238 | |               _ => Err(Error::UnsupportedRpcFormat),
[INFO] [stdout] ...    |
[INFO] [stdout]  244 | |           }?;
[INFO] [stdout]      | |            -
[INFO] [stdout]      | |            |
[INFO] [stdout]      | |____________this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |              `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  257 |               { Some((_, (sub_request, oneshot))) => {
[INFO] [stdout]      |                                        -------
[INFO] [stdout]      |                                        |
[INFO] [stdout]      |                                        `oneshot` calls a custom destructor
[INFO] [stdout]      |                                        `oneshot` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  262 |                       rpc::get_account(self.client.clone(), account).await?;
[INFO] [stdout]      |                       -----------------------------------------------------
[INFO] [stdout]      |                       |                                              |
[INFO] [stdout]      |                       |                                              this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]      |                       |                                              `#4` will be dropped later as of Edition 2024
[INFO] [stdout]      |                       this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |                       `#3` will be dropped later as of Edition 2024
[INFO] [stdout]      |                       `__awaitee` calls a custom destructor
[INFO] [stdout]      |                       `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  266 |                     match self.accounts.entry(key) {
[INFO] [stdout]      |                           ------------------------
[INFO] [stdout]      |                           |
[INFO] [stdout]      |                           this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]      |                           `#5` will be dropped later as of Edition 2024
[INFO] [stdout]  267 |                       Occupied(mut e) => {
[INFO] [stdout]      |                                -----
[INFO] [stdout]      |                                |
[INFO] [stdout]      |                                `e` calls a custom destructor
[INFO] [stdout]      |                                `e` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  278 |                         e.insert((acc, true));
[INFO] [stdout]      |                         ---------------------
[INFO] [stdout]      |                         |
[INFO] [stdout]      |                         this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]      |                         `#6` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  283 |                       let account = self.accounts.get(&key).unwrap().0.clone();
[INFO] [stdout]      |                                     --------------------------------
[INFO] [stdout]      |                                     |
[INFO] [stdout]      |                                     this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]      |                                     `#7` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  295 | /                     rpc::get_program_accounts(self.client.clone(), &program_id)
[INFO] [stdout]  296 | |                       .await?;
[INFO] [stdout]      | |                        ------
[INFO] [stdout]      | |________________________|___||
[INFO] [stdout]      | |________________________|___|this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]      | |________________________|___|`#8` will be dropped later as of Edition 2024
[INFO] [stdout]      | |________________________|___this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]      |                          |   `#9` will be dropped later as of Edition 2024
[INFO] [stdout]      |                          this value will be stored in a temporary; let us call it `#10`
[INFO] [stdout]      |                          `#10` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  302 | |                     match self.accounts.entry(key) {
[INFO] [stdout]      | |                           ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      | |                           |
[INFO] [stdout]      | |                           this value will be stored in a temporary; let us call it `#14`
[INFO] [stdout]      | |                           up until Edition 2021 `#14` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]  303 | |                       Occupied(mut e) => {
[INFO] [stdout]      | |                                -----
[INFO] [stdout]      | |                                |
[INFO] [stdout]      | |                                this value will be stored in a temporary; let us call it `#11`
[INFO] [stdout]      | |                                `#11` will be dropped later as of Edition 2024
[INFO] [stdout] ...    |
[INFO] [stdout]  326 | |                         e.insert((acc, true));
[INFO] [stdout]      | |                         ---------------------
[INFO] [stdout]      | |                         |
[INFO] [stdout]      | |                         this value will be stored in a temporary; let us call it `#12`
[INFO] [stdout]      | |                         `#12` will be dropped later as of Edition 2024
[INFO] [stdout] ...    |
[INFO] [stdout]  329 | |                   }
[INFO] [stdout]      | |                   - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] ...    |
[INFO] [stdout]  364 | |         tokio::task::yield_now().await;
[INFO] [stdout]      | |         ------------------------------
[INFO] [stdout]      | |         |
[INFO] [stdout]      | |         this value will be stored in a temporary; let us call it `#13`
[INFO] [stdout]      | |         `#13` will be dropped later as of Edition 2024
[INFO] [stdout]      |
[INFO] [stdout] note: `#14` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.5/src/rwlock.rs:1631:1
[INFO] [stdout]      |
[INFO] [stdout] 1631 | impl<'a, R: RawRwLock + 'a, T: ?Sized + 'a> Drop for RwLockWriteGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.1.0/src/bytes.rs:512:1
[INFO] [stdout]      |
[INFO] [stdout]  512 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `msg` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `msg` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.1.0/src/bytes.rs:512:1
[INFO] [stdout]      |
[INFO] [stdout]  512 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.1.0/src/bytes.rs:512:1
[INFO] [stdout]      |
[INFO] [stdout]  512 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `oneshot` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.14.0/src/sync/oneshot.rs:724:1
[INFO] [stdout]      |
[INFO] [stdout]  724 | impl<T> Drop for Sender<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.1.0/src/bytes.rs:512:1
[INFO] [stdout]      |
[INFO] [stdout]  512 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.1.0/src/bytes.rs:512:1
[INFO] [stdout]      |
[INFO] [stdout]  512 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.5/src/rwlock.rs:1631:1
[INFO] [stdout]      |
[INFO] [stdout] 1631 | impl<'a, R: RawRwLock + 'a, T: ?Sized + 'a> Drop for RwLockWriteGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `e` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.5/src/rwlock.rs:1631:1
[INFO] [stdout]      |
[INFO] [stdout] 1631 | impl<'a, R: RawRwLock + 'a, T: ?Sized + 'a> Drop for RwLockWriteGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.5/src/rwlock.rs:1631:1
[INFO] [stdout]      |
[INFO] [stdout] 1631 | impl<'a, R: RawRwLock + 'a, T: ?Sized + 'a> Drop for RwLockWriteGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#7` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.5/src/rwlock.rs:1294:1
[INFO] [stdout]      |
[INFO] [stdout] 1294 | impl<'a, R: RawRwLock + 'a, T: ?Sized + 'a> Drop for RwLockReadGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#8` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.1.0/src/bytes.rs:512:1
[INFO] [stdout]      |
[INFO] [stdout]  512 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#10` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#10` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.1.0/src/bytes.rs:512:1
[INFO] [stdout]      |
[INFO] [stdout]  512 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#11` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.5/src/rwlock.rs:1631:1
[INFO] [stdout]      |
[INFO] [stdout] 1631 | impl<'a, R: RawRwLock + 'a, T: ?Sized + 'a> Drop for RwLockWriteGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#12` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.5/src/rwlock.rs:1631:1
[INFO] [stdout]      |
[INFO] [stdout] 1631 | impl<'a, R: RawRwLock + 'a, T: ?Sized + 'a> Drop for RwLockWriteGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/sync.rs:256:19
[INFO] [stdout]      |
[INFO] [stdout]  234 |           while let Some(msg) = reader.next().await {
[INFO] [stdout]      |                          ---                  -----
[INFO] [stdout]      |                          |                    |
[INFO] [stdout]      |                          |                    this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                          |                    `#1` will be dropped later as of Edition 2024
[INFO] [stdout]      |                          `msg` calls a custom destructor
[INFO] [stdout]      |                          `msg` will be dropped later as of Edition 2024
[INFO] [stdout]  235 |             let message = match msg {
[INFO] [stdout]      |  _________________________-
[INFO] [stdout]  236 | |             Ok(msg) => match msg {
[INFO] [stdout]  237 | |               Message::Text(text) => Ok(serde_json::from_str(&text)?),
[INFO] [stdout]  238 | |               _ => Err(Error::UnsupportedRpcFormat),
[INFO] [stdout] ...    |
[INFO] [stdout]  244 | |           }?;
[INFO] [stdout]      | |            -
[INFO] [stdout]      | |            |
[INFO] [stdout]      | |____________this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |              `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  256 |               match self.pending.remove(&id)
[INFO] [stdout]      |                     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     this value will be stored in a temporary; let us call it `#14`
[INFO] [stdout]      |                     up until Edition 2021 `#14` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]  257 |               { Some((_, (sub_request, oneshot))) => {
[INFO] [stdout]      |                                        -------
[INFO] [stdout]      |                                        |
[INFO] [stdout]      |                                        `oneshot` calls a custom destructor
[INFO] [stdout]      |                                        `oneshot` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  262 |                       rpc::get_account(self.client.clone(), account).await?;
[INFO] [stdout]      |                       -----------------------------------------------------
[INFO] [stdout]      |                       |                                              |
[INFO] [stdout]      |                       |                                              this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]      |                       |                                              `#4` will be dropped later as of Edition 2024
[INFO] [stdout]      |                       this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |                       `#3` will be dropped later as of Edition 2024
[INFO] [stdout]      |                       `__awaitee` calls a custom destructor
[INFO] [stdout]      |                       `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  266 |                     match self.accounts.entry(key) {
[INFO] [stdout]      |                           ------------------------
[INFO] [stdout]      |                           |
[INFO] [stdout]      |                           this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]      |                           `#5` will be dropped later as of Edition 2024
[INFO] [stdout]  267 |                       Occupied(mut e) => {
[INFO] [stdout]      |                                -----
[INFO] [stdout]      |                                |
[INFO] [stdout]      |                                `e` calls a custom destructor
[INFO] [stdout]      |                                `e` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  278 |                         e.insert((acc, true));
[INFO] [stdout]      |                         ---------------------
[INFO] [stdout]      |                         |
[INFO] [stdout]      |                         this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]      |                         `#6` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  283 |                       let account = self.accounts.get(&key).unwrap().0.clone();
[INFO] [stdout]      |                                     --------------------------------
[INFO] [stdout]      |                                     |
[INFO] [stdout]      |                                     this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]      |                                     `#7` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  295 | /                     rpc::get_program_accounts(self.client.clone(), &program_id)
[INFO] [stdout]  296 | |                       .await?;
[INFO] [stdout]      | |                        ------
[INFO] [stdout]      | |________________________|___||
[INFO] [stdout]      | |________________________|___|this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]      | |________________________|___|`#8` will be dropped later as of Edition 2024
[INFO] [stdout]      | |________________________|___this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]      |                          |   `#9` will be dropped later as of Edition 2024
[INFO] [stdout]      |                          this value will be stored in a temporary; let us call it `#10`
[INFO] [stdout]      |                          `#10` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  303 | |                       Occupied(mut e) => {
[INFO] [stdout]      | |                                -----
[INFO] [stdout]      | |                                |
[INFO] [stdout]      | |                                this value will be stored in a temporary; let us call it `#11`
[INFO] [stdout]      | |                                `#11` will be dropped later as of Edition 2024
[INFO] [stdout] ...    |
[INFO] [stdout]  326 | |                         e.insert((acc, true));
[INFO] [stdout]      | |                         ---------------------
[INFO] [stdout]      | |                         |
[INFO] [stdout]      | |                         this value will be stored in a temporary; let us call it `#12`
[INFO] [stdout]      | |                         `#12` will be dropped later as of Edition 2024
[INFO] [stdout] ...    |
[INFO] [stdout]  348 | |           }
[INFO] [stdout]      | |           - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] ...    |
[INFO] [stdout]  364 | |         tokio::task::yield_now().await;
[INFO] [stdout]      | |         ------------------------------
[INFO] [stdout]      | |         |
[INFO] [stdout]      | |         this value will be stored in a temporary; let us call it `#13`
[INFO] [stdout]      | |         `#13` will be dropped later as of Edition 2024
[INFO] [stdout]      |
[INFO] [stdout] note: `#14` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.14.0/src/sync/oneshot.rs:724:1
[INFO] [stdout]      |
[INFO] [stdout]  724 | impl<T> Drop for Sender<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.1.0/src/bytes.rs:512:1
[INFO] [stdout]      |
[INFO] [stdout]  512 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `msg` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `msg` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.1.0/src/bytes.rs:512:1
[INFO] [stdout]      |
[INFO] [stdout]  512 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.1.0/src/bytes.rs:512:1
[INFO] [stdout]      |
[INFO] [stdout]  512 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `oneshot` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.14.0/src/sync/oneshot.rs:724:1
[INFO] [stdout]      |
[INFO] [stdout]  724 | impl<T> Drop for Sender<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.1.0/src/bytes.rs:512:1
[INFO] [stdout]      |
[INFO] [stdout]  512 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.1.0/src/bytes.rs:512:1
[INFO] [stdout]      |
[INFO] [stdout]  512 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.5/src/rwlock.rs:1631:1
[INFO] [stdout]      |
[INFO] [stdout] 1631 | impl<'a, R: RawRwLock + 'a, T: ?Sized + 'a> Drop for RwLockWriteGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `e` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.5/src/rwlock.rs:1631:1
[INFO] [stdout]      |
[INFO] [stdout] 1631 | impl<'a, R: RawRwLock + 'a, T: ?Sized + 'a> Drop for RwLockWriteGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.5/src/rwlock.rs:1631:1
[INFO] [stdout]      |
[INFO] [stdout] 1631 | impl<'a, R: RawRwLock + 'a, T: ?Sized + 'a> Drop for RwLockWriteGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#7` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.5/src/rwlock.rs:1294:1
[INFO] [stdout]      |
[INFO] [stdout] 1294 | impl<'a, R: RawRwLock + 'a, T: ?Sized + 'a> Drop for RwLockReadGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#8` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.1.0/src/bytes.rs:512:1
[INFO] [stdout]      |
[INFO] [stdout]  512 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#10` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#10` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.1.0/src/bytes.rs:512:1
[INFO] [stdout]      |
[INFO] [stdout]  512 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#11` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.5/src/rwlock.rs:1631:1
[INFO] [stdout]      |
[INFO] [stdout] 1631 | impl<'a, R: RawRwLock + 'a, T: ?Sized + 'a> Drop for RwLockWriteGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#12` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.5/src/rwlock.rs:1631:1
[INFO] [stdout]      |
[INFO] [stdout] 1631 | impl<'a, R: RawRwLock + 'a, T: ?Sized + 'a> Drop for RwLockWriteGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/sync.rs:234:31
[INFO] [stdout]      |
[INFO] [stdout]  234 |           while let Some(msg) = reader.next().await {
[INFO] [stdout]      |                          ---    ^^^^^^^^^^^^^^-----
[INFO] [stdout]      |                          |      |             |
[INFO] [stdout]      |                          |      |             this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                          |      |             `#1` will be dropped later as of Edition 2024
[INFO] [stdout]      |                          |      this value will be stored in a temporary; let us call it `#14`
[INFO] [stdout]      |                          |      up until Edition 2021 `#14` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                          `msg` calls a custom destructor
[INFO] [stdout]      |                          `msg` will be dropped later as of Edition 2024
[INFO] [stdout]  235 |             let message = match msg {
[INFO] [stdout]      |  _________________________-
[INFO] [stdout]  236 | |             Ok(msg) => match msg {
[INFO] [stdout]  237 | |               Message::Text(text) => Ok(serde_json::from_str(&text)?),
[INFO] [stdout]  238 | |               _ => Err(Error::UnsupportedRpcFormat),
[INFO] [stdout] ...    |
[INFO] [stdout]  244 | |           }?;
[INFO] [stdout]      | |            -
[INFO] [stdout]      | |            |
[INFO] [stdout]      | |____________this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |              `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  257 |               { Some((_, (sub_request, oneshot))) => {
[INFO] [stdout]      |                                        -------
[INFO] [stdout]      |                                        |
[INFO] [stdout]      |                                        `oneshot` calls a custom destructor
[INFO] [stdout]      |                                        `oneshot` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  262 |                       rpc::get_account(self.client.clone(), account).await?;
[INFO] [stdout]      |                       -----------------------------------------------------
[INFO] [stdout]      |                       |                                              |
[INFO] [stdout]      |                       |                                              this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]      |                       |                                              `#4` will be dropped later as of Edition 2024
[INFO] [stdout]      |                       this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |                       `#3` will be dropped later as of Edition 2024
[INFO] [stdout]      |                       `__awaitee` calls a custom destructor
[INFO] [stdout]      |                       `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  266 |                     match self.accounts.entry(key) {
[INFO] [stdout]      |                           ------------------------
[INFO] [stdout]      |                           |
[INFO] [stdout]      |                           this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]      |                           `#5` will be dropped later as of Edition 2024
[INFO] [stdout]  267 |                       Occupied(mut e) => {
[INFO] [stdout]      |                                -----
[INFO] [stdout]      |                                |
[INFO] [stdout]      |                                `e` calls a custom destructor
[INFO] [stdout]      |                                `e` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  278 |                         e.insert((acc, true));
[INFO] [stdout]      |                         ---------------------
[INFO] [stdout]      |                         |
[INFO] [stdout]      |                         this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]      |                         `#6` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  283 |                       let account = self.accounts.get(&key).unwrap().0.clone();
[INFO] [stdout]      |                                     --------------------------------
[INFO] [stdout]      |                                     |
[INFO] [stdout]      |                                     this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]      |                                     `#7` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  295 | /                     rpc::get_program_accounts(self.client.clone(), &program_id)
[INFO] [stdout]  296 | |                       .await?;
[INFO] [stdout]      | |                        ------
[INFO] [stdout]      | |________________________|___||
[INFO] [stdout]      | |________________________|___|this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]      | |________________________|___|`#8` will be dropped later as of Edition 2024
[INFO] [stdout]      | |________________________|___this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]      |                          |   `#9` will be dropped later as of Edition 2024
[INFO] [stdout]      |                          this value will be stored in a temporary; let us call it `#10`
[INFO] [stdout]      |                          `#10` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  303 | |                       Occupied(mut e) => {
[INFO] [stdout]      | |                                -----
[INFO] [stdout]      | |                                |
[INFO] [stdout]      | |                                this value will be stored in a temporary; let us call it `#11`
[INFO] [stdout]      | |                                `#11` will be dropped later as of Edition 2024
[INFO] [stdout] ...    |
[INFO] [stdout]  326 | |                         e.insert((acc, true));
[INFO] [stdout]      | |                         ---------------------
[INFO] [stdout]      | |                         |
[INFO] [stdout]      | |                         this value will be stored in a temporary; let us call it `#12`
[INFO] [stdout]      | |                         `#12` will be dropped later as of Edition 2024
[INFO] [stdout] ...    |
[INFO] [stdout]  355 | |                 return Ok(Some(self.account_notification_to_change(params)?));
[INFO] [stdout]      | |                                --------------------------------------------
[INFO] [stdout]      | |                                |
[INFO] [stdout]      | |                                this value will be stored in a temporary; let us call it `#13`
[INFO] [stdout]      | |                                `#13` will be dropped later as of Edition 2024
[INFO] [stdout] ...    |
[INFO] [stdout]  362 | |         }
[INFO] [stdout]      | |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#14` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#14` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.1.0/src/bytes.rs:512:1
[INFO] [stdout]      |
[INFO] [stdout]  512 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.1.0/src/bytes.rs:512:1
[INFO] [stdout]      |
[INFO] [stdout]  512 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `msg` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `msg` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.1.0/src/bytes.rs:512:1
[INFO] [stdout]      |
[INFO] [stdout]  512 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.1.0/src/bytes.rs:512:1
[INFO] [stdout]      |
[INFO] [stdout]  512 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `oneshot` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.14.0/src/sync/oneshot.rs:724:1
[INFO] [stdout]      |
[INFO] [stdout]  724 | impl<T> Drop for Sender<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.1.0/src/bytes.rs:512:1
[INFO] [stdout]      |
[INFO] [stdout]  512 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.1.0/src/bytes.rs:512:1
[INFO] [stdout]      |
[INFO] [stdout]  512 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.5/src/rwlock.rs:1631:1
[INFO] [stdout]      |
[INFO] [stdout] 1631 | impl<'a, R: RawRwLock + 'a, T: ?Sized + 'a> Drop for RwLockWriteGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `e` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.5/src/rwlock.rs:1631:1
[INFO] [stdout]      |
[INFO] [stdout] 1631 | impl<'a, R: RawRwLock + 'a, T: ?Sized + 'a> Drop for RwLockWriteGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.5/src/rwlock.rs:1631:1
[INFO] [stdout]      |
[INFO] [stdout] 1631 | impl<'a, R: RawRwLock + 'a, T: ?Sized + 'a> Drop for RwLockWriteGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#7` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.5/src/rwlock.rs:1294:1
[INFO] [stdout]      |
[INFO] [stdout] 1294 | impl<'a, R: RawRwLock + 'a, T: ?Sized + 'a> Drop for RwLockReadGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#8` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.1.0/src/bytes.rs:512:1
[INFO] [stdout]      |
[INFO] [stdout]  512 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#10` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#10` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.1.0/src/bytes.rs:512:1
[INFO] [stdout]      |
[INFO] [stdout]  512 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#11` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.5/src/rwlock.rs:1631:1
[INFO] [stdout]      |
[INFO] [stdout] 1631 | impl<'a, R: RawRwLock + 'a, T: ?Sized + 'a> Drop for RwLockWriteGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#12` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.5/src/rwlock.rs:1631:1
[INFO] [stdout]      |
[INFO] [stdout] 1631 | impl<'a, R: RawRwLock + 'a, T: ?Sized + 'a> Drop for RwLockWriteGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#13` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#13` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.1.0/src/bytes.rs:512:1
[INFO] [stdout]      |
[INFO] [stdout]  512 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/blockchain.rs:275:29
[INFO] [stdout]     |
[INFO] [stdout] 273 |             tokio::time::sleep(every).await;
[INFO] [stdout]     |             -------------------------------
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `__awaitee` calls a custom destructor
[INFO] [stdout]     |             `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] 274 |             info!("reestablising connection to solana");
[INFO] [stdout] 275 |             if let Err(e) = channel.send((SubRequest::ReconnectAll, None)) {
[INFO] [stdout]     |                        -    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                        |    |
[INFO] [stdout]     |                        |    this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                        |    up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                        `e` calls a custom destructor
[INFO] [stdout]     |                        `e` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 278 |           }
[INFO] [stdout]     |           - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.14.0/src/sync/oneshot.rs:724:1
[INFO] [stdout]     |
[INFO] [stdout] 724 | impl<T> Drop for Sender<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `__awaitee` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.14.0/src/time/driver/entry.rs:620:1
[INFO] [stdout]     |
[INFO] [stdout] 620 | impl Drop for TimerEntry {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `e` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.14.0/src/sync/oneshot.rs:724:1
[INFO] [stdout]     |
[INFO] [stdout] 724 | impl<T> Drop for Sender<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/sync.rs:234:31
[INFO] [stdout]      |
[INFO] [stdout]  234 |           while let Some(msg) = reader.next().await {
[INFO] [stdout]      |                          ---    ^^^^^^^^^^^^^^-----
[INFO] [stdout]      |                          |      |             |
[INFO] [stdout]      |                          |      |             this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                          |      |             `#1` will be dropped later as of Edition 2024
[INFO] [stdout]      |                          |      this value will be stored in a temporary; let us call it `#15`
[INFO] [stdout]      |                          |      up until Edition 2021 `#15` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                          `msg` calls a custom destructor
[INFO] [stdout]      |                          `msg` will be dropped later as of Edition 2024
[INFO] [stdout]  235 |             let message = match msg {
[INFO] [stdout]      |  _________________________-
[INFO] [stdout]  236 | |             Ok(msg) => match msg {
[INFO] [stdout]  237 | |               Message::Text(text) => Ok(serde_json::from_str(&text)?),
[INFO] [stdout]  238 | |               _ => Err(Error::UnsupportedRpcFormat),
[INFO] [stdout] ...    |
[INFO] [stdout]  244 | |           }?;
[INFO] [stdout]      | |            -
[INFO] [stdout]      | |            |
[INFO] [stdout]      | |____________this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |              `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  257 |               { Some((_, (sub_request, oneshot))) => {
[INFO] [stdout]      |                                        -------
[INFO] [stdout]      |                                        |
[INFO] [stdout]      |                                        `oneshot` calls a custom destructor
[INFO] [stdout]      |                                        `oneshot` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  262 |                       rpc::get_account(self.client.clone(), account).await?;
[INFO] [stdout]      |                       -----------------------------------------------------
[INFO] [stdout]      |                       |                                              |
[INFO] [stdout]      |                       |                                              this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]      |                       |                                              `#4` will be dropped later as of Edition 2024
[INFO] [stdout]      |                       this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |                       `#3` will be dropped later as of Edition 2024
[INFO] [stdout]      |                       `__awaitee` calls a custom destructor
[INFO] [stdout]      |                       `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  266 |                     match self.accounts.entry(key) {
[INFO] [stdout]      |                           ------------------------
[INFO] [stdout]      |                           |
[INFO] [stdout]      |                           this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]      |                           `#5` will be dropped later as of Edition 2024
[INFO] [stdout]  267 |                       Occupied(mut e) => {
[INFO] [stdout]      |                                -----
[INFO] [stdout]      |                                |
[INFO] [stdout]      |                                `e` calls a custom destructor
[INFO] [stdout]      |                                `e` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  278 |                         e.insert((acc, true));
[INFO] [stdout]      |                         ---------------------
[INFO] [stdout]      |                         |
[INFO] [stdout]      |                         this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]      |                         `#6` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  283 |                       let account = self.accounts.get(&key).unwrap().0.clone();
[INFO] [stdout]      |                                     --------------------------------
[INFO] [stdout]      |                                     |
[INFO] [stdout]      |                                     this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]      |                                     `#7` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  295 | /                     rpc::get_program_accounts(self.client.clone(), &program_id)
[INFO] [stdout]  296 | |                       .await?;
[INFO] [stdout]      | |                        ------
[INFO] [stdout]      | |________________________|___||
[INFO] [stdout]      | |________________________|___|this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]      | |________________________|___|`#8` will be dropped later as of Edition 2024
[INFO] [stdout]      | |________________________|___this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]      |                          |   `#9` will be dropped later as of Edition 2024
[INFO] [stdout]      |                          this value will be stored in a temporary; let us call it `#10`
[INFO] [stdout]      |                          `#10` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  303 | |                       Occupied(mut e) => {
[INFO] [stdout]      | |                                -----
[INFO] [stdout]      | |                                |
[INFO] [stdout]      | |                                this value will be stored in a temporary; let us call it `#11`
[INFO] [stdout]      | |                                `#11` will be dropped later as of Edition 2024
[INFO] [stdout] ...    |
[INFO] [stdout]  326 | |                         e.insert((acc, true));
[INFO] [stdout]      | |                         ---------------------
[INFO] [stdout]      | |                         |
[INFO] [stdout]      | |                         this value will be stored in a temporary; let us call it `#12`
[INFO] [stdout]      | |                         `#12` will be dropped later as of Edition 2024
[INFO] [stdout] ...    |
[INFO] [stdout]  355 | |                 return Ok(Some(self.account_notification_to_change(params)?));
[INFO] [stdout]      | |                                --------------------------------------------
[INFO] [stdout]      | |                                |
[INFO] [stdout]      | |                                this value will be stored in a temporary; let us call it `#13`
[INFO] [stdout]      | |                                `#13` will be dropped later as of Edition 2024
[INFO] [stdout] ...    |
[INFO] [stdout]  362 | |         }
[INFO] [stdout]      | |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]  363 | |       } else {
[INFO] [stdout]  364 | |         tokio::task::yield_now().await;
[INFO] [stdout]      | |         ------------------------------
[INFO] [stdout]      | |         |
[INFO] [stdout]      | |         this value will be stored in a temporary; let us call it `#14`
[INFO] [stdout]      | |         `#14` will be dropped later as of Edition 2024
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#15` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#15` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.1.0/src/bytes.rs:512:1
[INFO] [stdout]      |
[INFO] [stdout]  512 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.1.0/src/bytes.rs:512:1
[INFO] [stdout]      |
[INFO] [stdout]  512 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `msg` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `msg` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.1.0/src/bytes.rs:512:1
[INFO] [stdout]      |
[INFO] [stdout]  512 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.1.0/src/bytes.rs:512:1
[INFO] [stdout]      |
[INFO] [stdout]  512 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `oneshot` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.14.0/src/sync/oneshot.rs:724:1
[INFO] [stdout]      |
[INFO] [stdout]  724 | impl<T> Drop for Sender<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.1.0/src/bytes.rs:512:1
[INFO] [stdout]      |
[INFO] [stdout]  512 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.1.0/src/bytes.rs:512:1
[INFO] [stdout]      |
[INFO] [stdout]  512 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.5/src/rwlock.rs:1631:1
[INFO] [stdout]      |
[INFO] [stdout] 1631 | impl<'a, R: RawRwLock + 'a, T: ?Sized + 'a> Drop for RwLockWriteGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `e` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.5/src/rwlock.rs:1631:1
[INFO] [stdout]      |
[INFO] [stdout] 1631 | impl<'a, R: RawRwLock + 'a, T: ?Sized + 'a> Drop for RwLockWriteGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.5/src/rwlock.rs:1631:1
[INFO] [stdout]      |
[INFO] [stdout] 1631 | impl<'a, R: RawRwLock + 'a, T: ?Sized + 'a> Drop for RwLockWriteGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#7` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.5/src/rwlock.rs:1294:1
[INFO] [stdout]      |
[INFO] [stdout] 1294 | impl<'a, R: RawRwLock + 'a, T: ?Sized + 'a> Drop for RwLockReadGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#8` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.1.0/src/bytes.rs:512:1
[INFO] [stdout]      |
[INFO] [stdout]  512 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#10` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#10` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.1.0/src/bytes.rs:512:1
[INFO] [stdout]      |
[INFO] [stdout]  512 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#11` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.5/src/rwlock.rs:1631:1
[INFO] [stdout]      |
[INFO] [stdout] 1631 | impl<'a, R: RawRwLock + 'a, T: ?Sized + 'a> Drop for RwLockWriteGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#12` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.5/src/rwlock.rs:1631:1
[INFO] [stdout]      |
[INFO] [stdout] 1631 | impl<'a, R: RawRwLock + 'a, T: ?Sized + 'a> Drop for RwLockWriteGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#13` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#13` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.1.0/src/bytes.rs:512:1
[INFO] [stdout]      |
[INFO] [stdout]  512 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/sync.rs:302:27
[INFO] [stdout]      |
[INFO] [stdout]  234 |           while let Some(msg) = reader.next().await {
[INFO] [stdout]      |                          ---                  -----
[INFO] [stdout]      |                          |                    |
[INFO] [stdout]      |                          |                    this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                          |                    `#1` will be dropped later as of Edition 2024
[INFO] [stdout]      |                          `msg` calls a custom destructor
[INFO] [stdout]      |                          `msg` will be dropped later as of Edition 2024
[INFO] [stdout]  235 |             let message = match msg {
[INFO] [stdout]      |  _________________________-
[INFO] [stdout]  236 | |             Ok(msg) => match msg {
[INFO] [stdout]  237 | |               Message::Text(text) => Ok(serde_json::from_str(&text)?),
[INFO] [stdout]  238 | |               _ => Err(Error::UnsupportedRpcFormat),
[INFO] [stdout] ...    |
[INFO] [stdout]  244 | |           }?;
[INFO] [stdout]      | |            -
[INFO] [stdout]      | |            |
[INFO] [stdout]      | |____________this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |              `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  257 |               { Some((_, (sub_request, oneshot))) => {
[INFO] [stdout]      |                                        -------
[INFO] [stdout]      |                                        |
[INFO] [stdout]      |                                        `oneshot` calls a custom destructor
[INFO] [stdout]      |                                        `oneshot` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  262 |                       rpc::get_account(self.client.clone(), account).await?;
[INFO] [stdout]      |                       -----------------------------------------------------
[INFO] [stdout]      |                       |                                              |
[INFO] [stdout]      |                       |                                              this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]      |                       |                                              `#4` will be dropped later as of Edition 2024
[INFO] [stdout]      |                       this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |                       `#3` will be dropped later as of Edition 2024
[INFO] [stdout]      |                       `__awaitee` calls a custom destructor
[INFO] [stdout]      |                       `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  266 |                     match self.accounts.entry(key) {
[INFO] [stdout]      |                           ------------------------
[INFO] [stdout]      |                           |
[INFO] [stdout]      |                           this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]      |                           `#5` will be dropped later as of Edition 2024
[INFO] [stdout]  267 |                       Occupied(mut e) => {
[INFO] [stdout]      |                                -----
[INFO] [stdout]      |                                |
[INFO] [stdout]      |                                `e` calls a custom destructor
[INFO] [stdout]      |                                `e` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  278 |                         e.insert((acc, true));
[INFO] [stdout]      |                         ---------------------
[INFO] [stdout]      |                         |
[INFO] [stdout]      |                         this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]      |                         `#6` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  283 |                       let account = self.accounts.get(&key).unwrap().0.clone();
[INFO] [stdout]      |                                     --------------------------------
[INFO] [stdout]      |                                     |
[INFO] [stdout]      |                                     this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]      |                                     `#7` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  295 | /                     rpc::get_program_accounts(self.client.clone(), &program_id)
[INFO] [stdout]  296 | |                       .await?;
[INFO] [stdout]      | |                        ------
[INFO] [stdout]      | |________________________|___||
[INFO] [stdout]      | |________________________|___|this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]      | |________________________|___|`#8` will be dropped later as of Edition 2024
[INFO] [stdout]      | |________________________|___this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]      |                          |   `#9` will be dropped later as of Edition 2024
[INFO] [stdout]      |                          this value will be stored in a temporary; let us call it `#10`
[INFO] [stdout]      |                          `#10` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  302 | |                     match self.accounts.entry(key) {
[INFO] [stdout]      | |                           ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      | |                           |
[INFO] [stdout]      | |                           this value will be stored in a temporary; let us call it `#14`
[INFO] [stdout]      | |                           up until Edition 2021 `#14` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]  303 | |                       Occupied(mut e) => {
[INFO] [stdout]      | |                                -----
[INFO] [stdout]      | |                                |
[INFO] [stdout]      | |                                this value will be stored in a temporary; let us call it `#11`
[INFO] [stdout]      | |                                `#11` will be dropped later as of Edition 2024
[INFO] [stdout] ...    |
[INFO] [stdout]  326 | |                         e.insert((acc, true));
[INFO] [stdout]      | |                         ---------------------
[INFO] [stdout]      | |                         |
[INFO] [stdout]      | |                         this value will be stored in a temporary; let us call it `#12`
[INFO] [stdout]      | |                         `#12` will be dropped later as of Edition 2024
[INFO] [stdout] ...    |
[INFO] [stdout]  329 | |                   }
[INFO] [stdout]      | |                   - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] ...    |
[INFO] [stdout]  364 | |         tokio::task::yield_now().await;
[INFO] [stdout]      | |         ------------------------------
[INFO] [stdout]      | |         |
[INFO] [stdout]      | |         this value will be stored in a temporary; let us call it `#13`
[INFO] [stdout]      | |         `#13` will be dropped later as of Edition 2024
[INFO] [stdout]      |
[INFO] [stdout] note: `#14` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.5/src/rwlock.rs:1631:1
[INFO] [stdout]      |
[INFO] [stdout] 1631 | impl<'a, R: RawRwLock + 'a, T: ?Sized + 'a> Drop for RwLockWriteGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.1.0/src/bytes.rs:512:1
[INFO] [stdout]      |
[INFO] [stdout]  512 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `msg` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `msg` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.1.0/src/bytes.rs:512:1
[INFO] [stdout]      |
[INFO] [stdout]  512 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.1.0/src/bytes.rs:512:1
[INFO] [stdout]      |
[INFO] [stdout]  512 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `oneshot` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.14.0/src/sync/oneshot.rs:724:1
[INFO] [stdout]      |
[INFO] [stdout]  724 | impl<T> Drop for Sender<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.1.0/src/bytes.rs:512:1
[INFO] [stdout]      |
[INFO] [stdout]  512 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.1.0/src/bytes.rs:512:1
[INFO] [stdout]      |
[INFO] [stdout]  512 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.5/src/rwlock.rs:1631:1
[INFO] [stdout]      |
[INFO] [stdout] 1631 | impl<'a, R: RawRwLock + 'a, T: ?Sized + 'a> Drop for RwLockWriteGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `e` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.5/src/rwlock.rs:1631:1
[INFO] [stdout]      |
[INFO] [stdout] 1631 | impl<'a, R: RawRwLock + 'a, T: ?Sized + 'a> Drop for RwLockWriteGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.5/src/rwlock.rs:1631:1
[INFO] [stdout]      |
[INFO] [stdout] 1631 | impl<'a, R: RawRwLock + 'a, T: ?Sized + 'a> Drop for RwLockWriteGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#7` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.5/src/rwlock.rs:1294:1
[INFO] [stdout]      |
[INFO] [stdout] 1294 | impl<'a, R: RawRwLock + 'a, T: ?Sized + 'a> Drop for RwLockReadGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#8` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.1.0/src/bytes.rs:512:1
[INFO] [stdout]      |
[INFO] [stdout]  512 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#10` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#10` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.1.0/src/bytes.rs:512:1
[INFO] [stdout]      |
[INFO] [stdout]  512 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#11` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.5/src/rwlock.rs:1631:1
[INFO] [stdout]      |
[INFO] [stdout] 1631 | impl<'a, R: RawRwLock + 'a, T: ?Sized + 'a> Drop for RwLockWriteGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#12` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.5/src/rwlock.rs:1631:1
[INFO] [stdout]      |
[INFO] [stdout] 1631 | impl<'a, R: RawRwLock + 'a, T: ?Sized + 'a> Drop for RwLockWriteGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/sync.rs:256:19
[INFO] [stdout]      |
[INFO] [stdout]  234 |           while let Some(msg) = reader.next().await {
[INFO] [stdout]      |                          ---                  -----
[INFO] [stdout]      |                          |                    |
[INFO] [stdout]      |                          |                    this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                          |                    `#1` will be dropped later as of Edition 2024
[INFO] [stdout]      |                          `msg` calls a custom destructor
[INFO] [stdout]      |                          `msg` will be dropped later as of Edition 2024
[INFO] [stdout]  235 |             let message = match msg {
[INFO] [stdout]      |  _________________________-
[INFO] [stdout]  236 | |             Ok(msg) => match msg {
[INFO] [stdout]  237 | |               Message::Text(text) => Ok(serde_json::from_str(&text)?),
[INFO] [stdout]  238 | |               _ => Err(Error::UnsupportedRpcFormat),
[INFO] [stdout] ...    |
[INFO] [stdout]  244 | |           }?;
[INFO] [stdout]      | |            -
[INFO] [stdout]      | |            |
[INFO] [stdout]      | |____________this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |              `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  256 |               match self.pending.remove(&id)
[INFO] [stdout]      |                     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     this value will be stored in a temporary; let us call it `#14`
[INFO] [stdout]      |                     up until Edition 2021 `#14` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]  257 |               { Some((_, (sub_request, oneshot))) => {
[INFO] [stdout]      |                                        -------
[INFO] [stdout]      |                                        |
[INFO] [stdout]      |                                        `oneshot` calls a custom destructor
[INFO] [stdout]      |                                        `oneshot` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  262 |                       rpc::get_account(self.client.clone(), account).await?;
[INFO] [stdout]      |                       -----------------------------------------------------
[INFO] [stdout]      |                       |                                              |
[INFO] [stdout]      |                       |                                              this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]      |                       |                                              `#4` will be dropped later as of Edition 2024
[INFO] [stdout]      |                       this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |                       `#3` will be dropped later as of Edition 2024
[INFO] [stdout]      |                       `__awaitee` calls a custom destructor
[INFO] [stdout]      |                       `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  266 |                     match self.accounts.entry(key) {
[INFO] [stdout]      |                           ------------------------
[INFO] [stdout]      |                           |
[INFO] [stdout]      |                           this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]      |                           `#5` will be dropped later as of Edition 2024
[INFO] [stdout]  267 |                       Occupied(mut e) => {
[INFO] [stdout]      |                                -----
[INFO] [stdout]      |                                |
[INFO] [stdout]      |                                `e` calls a custom destructor
[INFO] [stdout]      |                                `e` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  278 |                         e.insert((acc, true));
[INFO] [stdout]      |                         ---------------------
[INFO] [stdout]      |                         |
[INFO] [stdout]      |                         this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]      |                         `#6` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  283 |                       let account = self.accounts.get(&key).unwrap().0.clone();
[INFO] [stdout]      |                                     --------------------------------
[INFO] [stdout]      |                                     |
[INFO] [stdout]      |                                     this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]      |                                     `#7` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  295 | /                     rpc::get_program_accounts(self.client.clone(), &program_id)
[INFO] [stdout]  296 | |                       .await?;
[INFO] [stdout]      | |                        ------
[INFO] [stdout]      | |________________________|___||
[INFO] [stdout]      | |________________________|___|this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]      | |________________________|___|`#8` will be dropped later as of Edition 2024
[INFO] [stdout]      | |________________________|___this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]      |                          |   `#9` will be dropped later as of Edition 2024
[INFO] [stdout]      |                          this value will be stored in a temporary; let us call it `#10`
[INFO] [stdout]      |                          `#10` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  303 | |                       Occupied(mut e) => {
[INFO] [stdout]      | |                                -----
[INFO] [stdout]      | |                                |
[INFO] [stdout]      | |                                this value will be stored in a temporary; let us call it `#11`
[INFO] [stdout]      | |                                `#11` will be dropped later as of Edition 2024
[INFO] [stdout] ...    |
[INFO] [stdout]  326 | |                         e.insert((acc, true));
[INFO] [stdout]      | |                         ---------------------
[INFO] [stdout]      | |                         |
[INFO] [stdout]      | |                         this value will be stored in a temporary; let us call it `#12`
[INFO] [stdout]      | |                         `#12` will be dropped later as of Edition 2024
[INFO] [stdout] ...    |
[INFO] [stdout]  348 | |           }
[INFO] [stdout]      | |           - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] ...    |
[INFO] [stdout]  364 | |         tokio::task::yield_now().await;
[INFO] [stdout]      | |         ------------------------------
[INFO] [stdout]      | |         |
[INFO] [stdout]      | |         this value will be stored in a temporary; let us call it `#13`
[INFO] [stdout]      | |         `#13` will be dropped later as of Edition 2024
[INFO] [stdout]      |
[INFO] [stdout] note: `#14` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.14.0/src/sync/oneshot.rs:724:1
[INFO] [stdout]      |
[INFO] [stdout]  724 | impl<T> Drop for Sender<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.1.0/src/bytes.rs:512:1
[INFO] [stdout]      |
[INFO] [stdout]  512 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `msg` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `msg` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.1.0/src/bytes.rs:512:1
[INFO] [stdout]      |
[INFO] [stdout]  512 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.1.0/src/bytes.rs:512:1
[INFO] [stdout]      |
[INFO] [stdout]  512 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `oneshot` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.14.0/src/sync/oneshot.rs:724:1
[INFO] [stdout]      |
[INFO] [stdout]  724 | impl<T> Drop for Sender<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.1.0/src/bytes.rs:512:1
[INFO] [stdout]      |
[INFO] [stdout]  512 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.1.0/src/bytes.rs:512:1
[INFO] [stdout]      |
[INFO] [stdout]  512 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.5/src/rwlock.rs:1631:1
[INFO] [stdout]      |
[INFO] [stdout] 1631 | impl<'a, R: RawRwLock + 'a, T: ?Sized + 'a> Drop for RwLockWriteGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `e` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.5/src/rwlock.rs:1631:1
[INFO] [stdout]      |
[INFO] [stdout] 1631 | impl<'a, R: RawRwLock + 'a, T: ?Sized + 'a> Drop for RwLockWriteGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.5/src/rwlock.rs:1631:1
[INFO] [stdout]      |
[INFO] [stdout] 1631 | impl<'a, R: RawRwLock + 'a, T: ?Sized + 'a> Drop for RwLockWriteGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#7` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.5/src/rwlock.rs:1294:1
[INFO] [stdout]      |
[INFO] [stdout] 1294 | impl<'a, R: RawRwLock + 'a, T: ?Sized + 'a> Drop for RwLockReadGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#8` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.1.0/src/bytes.rs:512:1
[INFO] [stdout]      |
[INFO] [stdout]  512 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#10` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#10` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.1.0/src/bytes.rs:512:1
[INFO] [stdout]      |
[INFO] [stdout]  512 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#11` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.5/src/rwlock.rs:1631:1
[INFO] [stdout]      |
[INFO] [stdout] 1631 | impl<'a, R: RawRwLock + 'a, T: ?Sized + 'a> Drop for RwLockWriteGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#12` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.5/src/rwlock.rs:1631:1
[INFO] [stdout]      |
[INFO] [stdout] 1631 | impl<'a, R: RawRwLock + 'a, T: ?Sized + 'a> Drop for RwLockWriteGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/sync.rs:234:31
[INFO] [stdout]      |
[INFO] [stdout]  234 |           while let Some(msg) = reader.next().await {
[INFO] [stdout]      |                          ---    ^^^^^^^^^^^^^^-----
[INFO] [stdout]      |                          |      |             |
[INFO] [stdout]      |                          |      |             this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                          |      |             `#1` will be dropped later as of Edition 2024
[INFO] [stdout]      |                          |      this value will be stored in a temporary; let us call it `#14`
[INFO] [stdout]      |                          |      up until Edition 2021 `#14` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                          `msg` calls a custom destructor
[INFO] [stdout]      |                          `msg` will be dropped later as of Edition 2024
[INFO] [stdout]  235 |             let message = match msg {
[INFO] [stdout]      |  _________________________-
[INFO] [stdout]  236 | |             Ok(msg) => match msg {
[INFO] [stdout]  237 | |               Message::Text(text) => Ok(serde_json::from_str(&text)?),
[INFO] [stdout]  238 | |               _ => Err(Error::UnsupportedRpcFormat),
[INFO] [stdout] ...    |
[INFO] [stdout]  244 | |           }?;
[INFO] [stdout]      | |            -
[INFO] [stdout]      | |            |
[INFO] [stdout]      | |____________this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |              `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  257 |               { Some((_, (sub_request, oneshot))) => {
[INFO] [stdout]      |                                        -------
[INFO] [stdout]      |                                        |
[INFO] [stdout]      |                                        `oneshot` calls a custom destructor
[INFO] [stdout]      |                                        `oneshot` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  262 |                       rpc::get_account(self.client.clone(), account).await?;
[INFO] [stdout]      |                       -----------------------------------------------------
[INFO] [stdout]      |                       |                                              |
[INFO] [stdout]      |                       |                                              this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]      |                       |                                              `#4` will be dropped later as of Edition 2024
[INFO] [stdout]      |                       this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |                       `#3` will be dropped later as of Edition 2024
[INFO] [stdout]      |                       `__awaitee` calls a custom destructor
[INFO] [stdout]      |                       `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  266 |                     match self.accounts.entry(key) {
[INFO] [stdout]      |                           ------------------------
[INFO] [stdout]      |                           |
[INFO] [stdout]      |                           this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]      |                           `#5` will be dropped later as of Edition 2024
[INFO] [stdout]  267 |                       Occupied(mut e) => {
[INFO] [stdout]      |                                -----
[INFO] [stdout]      |                                |
[INFO] [stdout]      |                                `e` calls a custom destructor
[INFO] [stdout]      |                                `e` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  278 |                         e.insert((acc, true));
[INFO] [stdout]      |                         ---------------------
[INFO] [stdout]      |                         |
[INFO] [stdout]      |                         this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]      |                         `#6` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  283 |                       let account = self.accounts.get(&key).unwrap().0.clone();
[INFO] [stdout]      |                                     --------------------------------
[INFO] [stdout]      |                                     |
[INFO] [stdout]      |                                     this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]      |                                     `#7` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  295 | /                     rpc::get_program_accounts(self.client.clone(), &program_id)
[INFO] [stdout]  296 | |                       .await?;
[INFO] [stdout]      | |                        ------
[INFO] [stdout]      | |________________________|___||
[INFO] [stdout]      | |________________________|___|this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]      | |________________________|___|`#8` will be dropped later as of Edition 2024
[INFO] [stdout]      | |________________________|___this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]      |                          |   `#9` will be dropped later as of Edition 2024
[INFO] [stdout]      |                          this value will be stored in a temporary; let us call it `#10`
[INFO] [stdout]      |                          `#10` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  303 | |                       Occupied(mut e) => {
[INFO] [stdout]      | |                                -----
[INFO] [stdout]      | |                                |
[INFO] [stdout]      | |                                this value will be stored in a temporary; let us call it `#11`
[INFO] [stdout]      | |                                `#11` will be dropped later as of Edition 2024
[INFO] [stdout] ...    |
[INFO] [stdout]  326 | |                         e.insert((acc, true));
[INFO] [stdout]      | |                         ---------------------
[INFO] [stdout]      | |                         |
[INFO] [stdout]      | |                         this value will be stored in a temporary; let us call it `#12`
[INFO] [stdout]      | |                         `#12` will be dropped later as of Edition 2024
[INFO] [stdout] ...    |
[INFO] [stdout]  355 | |                 return Ok(Some(self.account_notification_to_change(params)?));
[INFO] [stdout]      | |                                --------------------------------------------
[INFO] [stdout]      | |                                |
[INFO] [stdout]      | |                                this value will be stored in a temporary; let us call it `#13`
[INFO] [stdout]      | |                                `#13` will be dropped later as of Edition 2024
[INFO] [stdout] ...    |
[INFO] [stdout]  362 | |         }
[INFO] [stdout]      | |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#14` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#14` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.1.0/src/bytes.rs:512:1
[INFO] [stdout]      |
[INFO] [stdout]  512 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.1.0/src/bytes.rs:512:1
[INFO] [stdout]      |
[INFO] [stdout]  512 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `msg` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `msg` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.1.0/src/bytes.rs:512:1
[INFO] [stdout]      |
[INFO] [stdout]  512 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.1.0/src/bytes.rs:512:1
[INFO] [stdout]      |
[INFO] [stdout]  512 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `oneshot` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.14.0/src/sync/oneshot.rs:724:1
[INFO] [stdout]      |
[INFO] [stdout]  724 | impl<T> Drop for Sender<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.1.0/src/bytes.rs:512:1
[INFO] [stdout]      |
[INFO] [stdout]  512 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.1.0/src/bytes.rs:512:1
[INFO] [stdout]      |
[INFO] [stdout]  512 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.5/src/rwlock.rs:1631:1
[INFO] [stdout]      |
[INFO] [stdout] 1631 | impl<'a, R: RawRwLock + 'a, T: ?Sized + 'a> Drop for RwLockWriteGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `e` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.5/src/rwlock.rs:1631:1
[INFO] [stdout]      |
[INFO] [stdout] 1631 | impl<'a, R: RawRwLock + 'a, T: ?Sized + 'a> Drop for RwLockWriteGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.5/src/rwlock.rs:1631:1
[INFO] [stdout]      |
[INFO] [stdout] 1631 | impl<'a, R: RawRwLock + 'a, T: ?Sized + 'a> Drop for RwLockWriteGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#7` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.5/src/rwlock.rs:1294:1
[INFO] [stdout]      |
[INFO] [stdout] 1294 | impl<'a, R: RawRwLock + 'a, T: ?Sized + 'a> Drop for RwLockReadGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#8` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.1.0/src/bytes.rs:512:1
[INFO] [stdout]      |
[INFO] [stdout]  512 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#10` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#10` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.1.0/src/bytes.rs:512:1
[INFO] [stdout]      |
[INFO] [stdout]  512 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#11` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.5/src/rwlock.rs:1631:1
[INFO] [stdout]      |
[INFO] [stdout] 1631 | impl<'a, R: RawRwLock + 'a, T: ?Sized + 'a> Drop for RwLockWriteGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#12` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.5/src/rwlock.rs:1631:1
[INFO] [stdout]      |
[INFO] [stdout] 1631 | impl<'a, R: RawRwLock + 'a, T: ?Sized + 'a> Drop for RwLockWriteGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#13` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#13` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.1.0/src/bytes.rs:512:1
[INFO] [stdout]      |
[INFO] [stdout]  512 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/blockchain.rs:275:29
[INFO] [stdout]     |
[INFO] [stdout] 273 |             tokio::time::sleep(every).await;
[INFO] [stdout]     |             -------------------------------
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `__awaitee` calls a custom destructor
[INFO] [stdout]     |             `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] 274 |             info!("reestablising connection to solana");
[INFO] [stdout] 275 |             if let Err(e) = channel.send((SubRequest::ReconnectAll, None)) {
[INFO] [stdout]     |                        -    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                        |    |
[INFO] [stdout]     |                        |    this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                        |    up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                        `e` calls a custom destructor
[INFO] [stdout]     |                        `e` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 278 |           }
[INFO] [stdout]     |           - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.14.0/src/sync/oneshot.rs:724:1
[INFO] [stdout]     |
[INFO] [stdout] 724 | impl<T> Drop for Sender<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `__awaitee` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.14.0/src/time/driver/entry.rs:620:1
[INFO] [stdout]     |
[INFO] [stdout] 620 | impl Drop for TimerEntry {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `e` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.14.0/src/sync/oneshot.rs:724:1
[INFO] [stdout]     |
[INFO] [stdout] 724 | impl<T> Drop for Sender<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Migrating examples/pyth_watch_updates.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating examples/pyth_watch_ethusd.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating examples/pyth_watch_reconnect.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating examples/pyth_watch_all.rs from 2021 edition to 2024
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 3m 15s
[INFO] [stderr] crater-edition-check: solana-shadow v0.2.4 (/opt/rustwide/workdir) updating edition from 2021 to 2024
[INFO] [stderr]     Checking solana-shadow v0.2.4 (/opt/rustwide/workdir)
[INFO] [stdout] warning: struct `AccountChangeInfo` is never constructed
[INFO] [stdout]  --> src/message.rs:7:19
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub(crate) struct AccountChangeInfo {
[INFO] [stdout]   |                   ^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ProgramChangeInfo` is never constructed
[INFO] [stdout]   --> src/message.rs:13:19
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub(crate) struct ProgramChangeInfo {}
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused output of future returned by `tokio::task::yield_now` that must be used
[INFO] [stdout]    --> src/sync.rs:160:9
[INFO] [stdout]     |
[INFO] [stdout] 160 |         tokio::task::yield_now().await;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: yield_now does nothing unless polled/`await`-ed
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 160 |         let _ = tokio::task::yield_now().await;
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused output of future returned by `tokio::task::yield_now` that must be used
[INFO] [stdout]    --> src/sync.rs:224:9
[INFO] [stdout]     |
[INFO] [stdout] 224 |         tokio::task::yield_now().await;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: yield_now does nothing unless polled/`await`-ed
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 224 |         let _ = tokio::task::yield_now().await;
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AccountChangeInfo` is never constructed
[INFO] [stdout]  --> src/message.rs:7:19
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub(crate) struct AccountChangeInfo {
[INFO] [stdout]   |                   ^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused output of future returned by `tokio::task::yield_now` that must be used
[INFO] [stdout]    --> src/sync.rs:364:9
[INFO] [stdout]     |
[INFO] [stdout] 364 |         tokio::task::yield_now().await;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: yield_now does nothing unless polled/`await`-ed
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 364 |         let _ = tokio::task::yield_now().await;
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ProgramChangeInfo` is never constructed
[INFO] [stdout]   --> src/message.rs:13:19
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub(crate) struct ProgramChangeInfo {}
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused output of future returned by `tokio::task::yield_now` that must be used
[INFO] [stdout]    --> src/sync.rs:160:9
[INFO] [stdout]     |
[INFO] [stdout] 160 |         tokio::task::yield_now().await;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: yield_now does nothing unless polled/`await`-ed
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 160 |         let _ = tokio::task::yield_now().await;
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused output of future returned by `tokio::task::yield_now` that must be used
[INFO] [stdout]    --> src/sync.rs:224:9
[INFO] [stdout]     |
[INFO] [stdout] 224 |         tokio::task::yield_now().await;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: yield_now does nothing unless polled/`await`-ed
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 224 |         let _ = tokio::task::yield_now().await;
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused output of future returned by `tokio::task::yield_now` that must be used
[INFO] [stdout]    --> src/sync.rs:364:9
[INFO] [stdout]     |
[INFO] [stdout] 364 |         tokio::task::yield_now().await;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: yield_now does nothing unless polled/`await`-ed
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 364 |         let _ = tokio::task::yield_now().await;
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 3m 16s
[INFO] [stderr] crater-edition-check all packages now at latest edition
[INFO] [stderr] crater-edition-check: all finished
[INFO] running `Command { std: "docker" "inspect" "ac7f6a922987df52da3b2035f7137d34d91c9215ee35a7cf554bd9e88938cb75", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ac7f6a922987df52da3b2035f7137d34d91c9215ee35a7cf554bd9e88938cb75", kill_on_drop: false }`
[INFO] [stdout] ac7f6a922987df52da3b2035f7137d34d91c9215ee35a7cf554bd9e88938cb75
